Jump to content
  • Advertisement
Sign in to follow this  
deadimp

DirectX 9.0c June 2005 Summer Update - Libraries Not Working?

This topic is 4870 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I have just recently downloaded the DirectX SDK for June 2005, however, when I compared the "d3dx9.lib" that I currently have (DirectX DevPak) with the new one, I found out that my current library's size was 207 KB while the new one's was only 86 KB. And due to this, whenever I try to compile with the libraries, I get linker errors (of course). I am using: Dev-C++ 4.9.9.1, WindowsXP Home Edition Does this work properly for anyone using VC? If so, then why? NOTE: I mainly need the new ID3DXFont stuff. To be even more specific, D3DXFontCreateIndirect...

Share this post


Link to post
Share on other sites
Advertisement
Hi deadimp,
The latest SDK uses a dll for D3DX, whereas previously it was implemented as a static library.
d3dx9.lib in the latest SDKs will simply be an import library for the dll, hence the difference in size.
What specific linker errors are you getting?
I have never used Dev-C++ myself and I don't know if it is compatible with the latest SDK.
Maybe other Dev-C++ users can advise you?

HTH,
Cambo_frog

Share this post


Link to post
Share on other sites
All of the errors are undefined references to functions. I do have the DLLs, d3dx9_26.dll and d3dx9d_26.dll.
I also have DEF files (definitions for MinGW) for d3dx9.def, and I've changed the DLL name so it would be correct, but nothing new comes of it.
I've found a MinGW FAQ where about MSVC DLLs (link), and I found these commands:
Quote:
MinGW - Frequently Asked Questions
However, for __stdcall functions, the above method does not work. For MSVC will prefix an underscore to __stdcall functions while MinGW will not. The right way is to produce the DEF file using the pexports tool included in the mingw-utils package and filter off the first underscore by sed:

pexports testdll.dll | sed "s/^_//" > testdll.def

Then, when using dlltool to produce the import library, add `-U' to the command line:

dlltool -U -d testdll.def -l libtestdll.a

And now, you can proceed in the usual way:

gcc -o testmain testmain.c -L. -ltestdll

Hooray, we got it.

I've already tested out reimp, and it does produce a DEF file, but it still doesn't work... Does anyone know how to execute the commands in the quote using Windows? (Sorry, I'm not too big of a command line user, and I think this is for Linux)

EDIT: I figured out I have dlltool, but I don't have pexports. Does anyone know where I can find this?

Share this post


Link to post
Share on other sites
Well, I've finally found out how to do it, I did what they said (though using "sed" didn't work because CMD wouldn't recognize it), which produced "d3dx9d.def" (9 KB) and "libd3dx9d.a" (250 KB), but I still get the linker errors...

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!