(solved) fatal error LNK1104: ddraw.lib
I'm using MSVC++ 2005 express edition on windows xp and directx sdk 2007 june
my computer has an athlon xp 2400 processor
I'm getting an error LINK : fatal error LNK1104: cannot open file 'C:\Program Files\Microsoft DirectX SDK (June 2007)\Lib\x86\ddraw.lib
I'm guessing this is due to direct draw being replaced by direct graphics/3d but I wanted some more opinions before I started working on conversion to direct3d.
I did some google searching for this problem but I couldn't find much of anything, seems kinda weird.
[Edited by - PPCThug on July 24, 2007 7:22:51 PM]
Do you have a ddraw.lib in that directory?
DirectX is supposed to be backward compatible do to their COM interfaces,
so DirectDraw should still be avilable.
(Then again, I dont know if DirectX 10 is backward compatible--Perhaps someone
can clarify this for me?)
DirectX is supposed to be backward compatible do to their COM interfaces,
so DirectDraw should still be avilable.
(Then again, I dont know if DirectX 10 is backward compatible--Perhaps someone
can clarify this for me?)
hey, just incase, check
1) you've included ddraw.dll to your project dependencies. under Project > Properties > Linker > Input > Additional Dependencies
2) you've added the DX sdk directory as a path for VS. under Tools > Options > Projects & Solutions > VC++ Directories.
1) you've included ddraw.dll to your project dependencies. under Project > Properties > Linker > Input > Additional Dependencies
2) you've added the DX sdk directory as a path for VS. under Tools > Options > Projects & Solutions > VC++ Directories.
Odd...
Did you set the paths for *both* Debug AND Release builds?
For the INCLUDE, and LIBRARY paths?
> How are you linking ddraw.lib?
> What happens if you place ddraw.lib in the same directory as your program,
and link via:
?
Did you set the paths for *both* Debug AND Release builds?
For the INCLUDE, and LIBRARY paths?
> How are you linking ddraw.lib?
> What happens if you place ddraw.lib in the same directory as your program,
and link via:
#pragma comment (lib, "ddraw.lib")
?
they where set for debug, they are set for both debug and release now (configuration properties -> c/c++ -> general -> additional include directories C:\Program Files\Microsoft DirectX SDK (June 2007)\Include ) (configuration properties -> linker -> general -> C:\Program Files\Microsoft DirectX SDK (June 2007)\Lib\x86)
I link the libraries by going into configuration properties -> linker -> input -> additional dependencies field and typed in the path C:\Program Files\Microsoft DirectX SDK (June 2007)\Lib\x86\ddraw.lib
along with the path for dxguid.lib, dinput.lib and recently c:\windows\system32\ddraw.dll
I spent the better part of a day searching documentation, msdn and google on how to "link library's" in msvc++ 2005 express and ended up guessing at this approach.
I link the libraries by going into configuration properties -> linker -> input -> additional dependencies field and typed in the path C:\Program Files\Microsoft DirectX SDK (June 2007)\Lib\x86\ddraw.lib
along with the path for dxguid.lib, dinput.lib and recently c:\windows\system32\ddraw.dll
I spent the better part of a day searching documentation, msdn and google on how to "link library's" in msvc++ 2005 express and ended up guessing at this approach.
Did it fix the problem?
If not, I would probably reinstall the DX SDK and start over.
Or, of course, go with Direct3d; however Direct3d uses
DirectDraw, so that might not work.
If not, I would probably reinstall the DX SDK and start over.
Or, of course, go with Direct3d; however Direct3d uses
DirectDraw, so that might not work.
PPCThug, did you end up finding the problem?
If not, send me your solution and ill try compiling it (ive got day off, and a little bored). at least then we can see if its specific to your vc++ settings or wether maybe your dx sdk isn't installed properly.
If not, send me your solution and ill try compiling it (ive got day off, and a little bored). at least then we can see if its specific to your vc++ settings or wether maybe your dx sdk isn't installed properly.
I tried uninstalling and reinstalling direct x sdk which didn't help.
I tried compiling a test direct x program and ended up with different errors.
after searching Google for these new errors I found the problem, when I copied the library paths into vc++ I didn't add quotes to the beginning and end of the paths
I had
"C:\Program Files\Microsoft DirectX SDK (June 2007)\Lib\x86\ddraw.lib "C:\Program
Files\Microsoft
DirectX
SDK
(June
2007)\Lib\x86\dxguid.lib
"C:\Program Files\Microsoft DirectX SDK (June 2007)\Lib\x86\dinput8.lib"
when I should have had
"C:\Program Files\Microsoft DirectX SDK (June 2007)\Lib\x86\ddraw.lib"
"C:\Program Files\Microsoft DirectX SDK (June 2007)\Lib\x86\dxguid.lib"
"C:\Program Files\Microsoft DirectX SDK (June 2007)\Lib\x86\dinput8.lib"
so problem solved
thanks for all the help guys
I tried compiling a test direct x program and ended up with different errors.
after searching Google for these new errors I found the problem, when I copied the library paths into vc++ I didn't add quotes to the beginning and end of the paths
I had
"C:\Program Files\Microsoft DirectX SDK (June 2007)\Lib\x86\ddraw.lib "C:\Program
Files\Microsoft
DirectX
SDK
(June
2007)\Lib\x86\dxguid.lib
"C:\Program Files\Microsoft DirectX SDK (June 2007)\Lib\x86\dinput8.lib"
when I should have had
"C:\Program Files\Microsoft DirectX SDK (June 2007)\Lib\x86\ddraw.lib"
"C:\Program Files\Microsoft DirectX SDK (June 2007)\Lib\x86\dxguid.lib"
"C:\Program Files\Microsoft DirectX SDK (June 2007)\Lib\x86\dinput8.lib"
so problem solved
thanks for all the help guys
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement