I've been messing with D3D9 and I run into a problem. When I try to statically link with d3dx9.lib I get unreloved external errors like:

___CxxFrameHandler
__fltUsed

etc.

These look to be externals used by the C++ complier.

I got my program to work using /FORCE, but that is not a good option as I might cover my own errors.

Is there a linker switch I'm missing, or some super clever trick to get LINK to ignor or force resolving only certain unresolved externals?

They did not provide a release mode dll to link to, only a debug dll. I guess the only way to make release mode D3D apps is with static linking.

Any ideas? :confused:

Thanks.
Posted on 2003-04-13 21:29:29 by ThoughtCriminal
I do not think it is a linker problem,

I guess You will need the appropiate .lib files

You could define those symbols inside your own code with the real meanning or just some dummy definition that will keep the linker happy...

However i do not like such an solution
Posted on 2003-04-13 21:42:29 by BogdanOntanu
Hmmm this is not about game programming.
But okay...

It is not a linker problem, thats true. The problem is the lib is made to be used with C/C++.

I did some googling and __fltUsed Is a hint to the compiler to load floating point support.

http://www.dmst.aueb.gr/dds/news/22.html

And ___CxxFrameHandler seems to be for exception handling:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndeepc/html/deep070199.asp

There is no appropriate lib file(for use with assem).

The dummy definition might be my best hope.

Or I might be able to make a wrapper in C++ and link the obj with my code.(Better yet a lib wrapper)

Thanks.
Posted on 2003-04-13 22:23:19 by ThoughtCriminal
ooops...

Not about game programming but using d3dx9.lib ?

Mea culpa,

But maybe somebody else used this lib for a game :)

Letl me know if you want me to move it back ...
Posted on 2003-04-14 10:54:29 by BogdanOntanu