Archived

This topic is now archived and is closed to further replies.

Peace

Does anyone use CodeWarrior with DirectX (3D)

Recommended Posts

Hi, I''m pretty new to game programming and have decided to program directx. When I try to link my program with Metrowerks CodeWarrior 7, I get an error with the d3d8 files etc. I looked up the manuals etc, and it says that i should link against the DLL files themsleves. I don''t really understand this and wondering if anyone knows, better yet if anyone has a same project. And if it''s not possible please advise. Thank You. Peace Out.

Share this post


Link to post
Share on other sites
I''ve been using DX8 and CodeWarrior 7 for a while now. I''m not sure of the exact problem you''re having (post the error messages CW gives you, that would help), but here are a few things to check.

Do you have an access path in the target settings that points to the DX8 sdk? It needs to be higher than the CW directory in the system path list, because CW includes an old version of DX.

You''ll need to link with d3d8.lib if you''re using Direct3DCreate8 to make a D3D8 object. You also need to link with dxguid.lib, or #define INITGUID before including any DX headers.

Share this post


Link to post
Share on other sites
Hey, thanks for replying. I tried what you said and put the sdk paths first in the system dirs but i still recieve the following errors:
-/-------------------------------------------/-
Link Error : Undefined symbol: __imp__timeGetTime@0 in
Matrices.cpp

Link Error : Undefined symbol: __CIacos in
d3dx8.lib (obj\i386\d3dxmath.obj)

Link Error : Undefined symbol: __finite in
d3dx8.lib (obj\i386\d3dxmath.obj)

Link Error : Undefined symbol: __imp__RegCloseKey@4 in
d3dx8.lib (obj\i386\cpudetect.obj)

Link Error : Undefined symbol: __imp__RegQueryValueExA@24 in
d3dx8.lib (obj\i386\cpudetect.obj)

Link Error : Undefined symbol: __imp__RegOpenKeyA@12 in
d3dx8.lib (obj\i386\cpudetect.obj)

Link Error : Undefined symbol: __except_list in
d3dx8.lib (obj\i386\cpudetect.obj)

Link Error : Undefined symbol: __EH_prolog in
d3dx8.lib (obj\i386\cpudetect.obj)
-/-------------------------------------------------------------/-

I linked the d3d8.lib, d3dx8.lib and dxguid.lib. I would appreciate it if you could give me an example project. My email is "urjoh@yahoo.com".
Also I opened the project as a Win32 c++ stationary, but i don't think that is the problem. I'm actually just trying to compile the matrices example in the tutorial of the Directx 8.1 SDK.
dir: DSDK\samples\Multimedia\Direct3D\Tutorials\Tut03_matrices
I've already tried tute 1 and 2 and they worked (with ignorable errors), but tutes including and beyond do not link properly.
Thanks.



[edited by - Peace on July 5, 2003 8:57:48 PM]

Share this post


Link to post
Share on other sites
I have thought about CodeWarrior several times, but never picked it up. I instead find that GCC is a very good compiler for everything. However, make sure you have linked all the correct libraries. You need to link .lib files.

Scott Simontis
C++ Guy

Share this post


Link to post
Share on other sites
quote:
Original post by Peace
Hey, thanks for replying. I tried what you said and put the sdk paths first in the system dirs but i still recieve the following errors:

<snip d3dx8 errors>



I''m afraid I won''t be able to help you with those ones. I don''t use D3DX, but I seem to remember that D3DX needs to be linked against Microsoft''s CRT library. That''s a problem because you already link against the Metrowerks CRT library. When I found that out, I stopped using D3DX; I was only using a couple of helper functions and it was easier to write my own than mess about trying to make D3DX work. It would probably be best to ask this question on the codewarrior.windows newsgroup. The CW support guys read it and they''re really helpful.

Share this post


Link to post
Share on other sites