Jump to content

  • Log In with Google      Sign In   
  • Create Account


(solved) fatal error LNK1104: ddraw.lib


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
9 replies to this topic

#1 PPCThug   Members   -  Reputation: 130

Like
0Likes
Like

Posted 19 July 2007 - 02:43 PM

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]

Sponsor:

#2 Crypter   Members   -  Reputation: 661

Like
0Likes
Like

Posted 19 July 2007 - 03:46 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?)

#3 PPCThug   Members   -  Reputation: 130

Like
0Likes
Like

Posted 19 July 2007 - 04:11 PM

yes there is a ddraw.lib file there, 5kb dated 5/8/2007

#4 supamike   Members   -  Reputation: 319

Like
0Likes
Like

Posted 19 July 2007 - 08:46 PM

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.

#5 PPCThug   Members   -  Reputation: 130

Like
0Likes
Like

Posted 20 July 2007 - 07:54 AM

done and done, still get the same error message.

#6 Crypter   Members   -  Reputation: 661

Like
0Likes
Like

Posted 20 July 2007 - 10:07 AM

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:

#pragma comment (lib, "ddraw.lib")

?

#7 PPCThug   Members   -  Reputation: 130

Like
0Likes
Like

Posted 20 July 2007 - 12:03 PM

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.

#8 Crypter   Members   -  Reputation: 661

Like
0Likes
Like

Posted 20 July 2007 - 02:24 PM

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.


#9 supamike   Members   -  Reputation: 319

Like
0Likes
Like

Posted 22 July 2007 - 12:48 PM

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.

#10 PPCThug   Members   -  Reputation: 130

Like
0Likes
Like

Posted 24 July 2007 - 01:22 PM

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




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS