Thank you for the long reply! :) More comments below...
>In a message dated 6/22/2003 9:45:47 PM Eastern Standard Time, brenden@... writes:
>>Thanks, this works perfectly. But I'd still love to know the details of
>>what is going on. Is it even possible to link to a MS supplied
>As far as I know, noone has ever really gotten
>it to work.
>Its easy enough to get the base DX9 interface to work,
>largely because of the beauty of COM. The problem is
>the D3DX library.
>What works: Everything we care about in the DX9 libs is
>uses the cdecl ABI, which is excellent, because that
>means we can link to it with GCC. Furthermore, the D3D9
>library is in a .DLL, which means all we need is an
>import library to link against it, which is trivial.
>However, the D3DX library will be necessary to do any
>serious work with D3D. It is primarily provided in a
>normal static library, which GCC has trouble with. It is
>also provided in a DLL for use with debugging, and this is
>the workaround the above site uses, but unfortunately,
>to the best of my knowledge, it is not legal to redistribute
Redistribution is not an issue for me, I'm just educating myself and
having fun on my hard drive right now. I'm really amazed tho to here
that GCC has issues with a static library. I would have thought that
would be the easiest case. Maybe there are some differences between the
code generated by GCC and MS? Differences in calling convention or
exception handling, that sort of thing. But if there are issues I'd
love to help.
>(Its also worth noting that, unlike the
>usual PSDK license, linking against .LIBs that may cause
>executables to be considered derivative works is given no
>special consideration; this may mean it is infringing to
>distribute an application linked against D3DX9; however,
>it is almost certainly an oversight, and probably not
>the intent, so i would suspect noone sensible is worrying
>As far as linking against the static D3DX lib, which is the
>usual and preferred way of doing this, expect difficulties.
>There are quite a lot of problems involving getting the
>linkage to work for nontrivial D3D programs, including
>a few showstoppers that I have been unable to fix thus far.
I'd like to here about what sort of problems you've had. "Many hands
make light work." If more people are working on fixing this, then it
has a better chance of actually happening.