Advertisement Jump to content
Sign in to follow this  

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

This topic is 4930 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++, 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
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?


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:
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, you agree to our community Guidelines, Terms of Use, and Privacy Policy. is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!