Archived

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

OB1st

external linking errors

Recommended Posts

OB1st    122
This might be a selly question, please help The samples from Microsoft acompanies the DirectX SDK7,includes an executable version, and a source code verison. The executable runs fine. When I compile the source code version it compiles with no errors. But when I try to produce executables, Microsoft visual studio posts a dynemic link error. Where should I look knowing that I already fixed the path to the include and lib. Many Thanks from OB1st

Share this post


Link to post
Share on other sites
Oluseyi    2112
For future reference, whenever you post asking for help you might want to include some detailed information: what compiler you''re using, for instance, since you can''t use the same library files for them both; the exact wording of the error message and/or the error code (eg C4786); etc.

As it is, we can only make vague guesses as to what your problem may be. So post back the information and watch the replies come pouring in.

[ GDNet Start Here | GDNet FAQ | MS RTFM | STL | Google ]
Thanks to Kylotan for the idea!

Share this post


Link to post
Share on other sites
OB1st    122
Thanks for the advice

I am using Microsoft visual studio (C++) the errors I am getting are copied below.

I am using directX SDK7

I start to wounder if this is a version problem.

Linking...
ddex2.obj : error LNK2001: unresolved external symbol _DirectDrawCreateEx@16
ddex2.obj : error LNK2001: unresolved external symbol _IID_IDirectDraw7
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/test.exe : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.

Share this post


Link to post
Share on other sites
Oluseyi    2112
quote:
Original post by OB1st
ddex2.obj : error LNK2001: unresolved external symbol _DirectDrawCreateEx@16
ddex2.obj : error LNK2001: unresolved external symbol _IID_IDirectDraw7

These two errors refer to the fact that you haven''t added the DirectDraw libs to your project file. If you have, you haven''t set up your directories properly, so MSVC is locating the older (DX5?) headers that come with it.

quote:
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main

You created a Win32 console application instead of a Win32 application. This happens all the time. If you don''t explicitly tell MSVC that you want a Win32 application project (for example, if it asks you to create a "default workspace") then you get a console app project. You can either modify the project settings or create a new project using "New..." and selecting "Win32 Application."

Good luck.

[ GDNet Start Here | GDNet FAQ | MS RTFM | STL | Google ]
Thanks to Kylotan for the idea!

Share this post


Link to post
Share on other sites
OB1st    122
I thought when I fix tools/option/directory to the proper path,that will fix the problem, but I found that I also have to fix the project/setting by adding to the object/library and the project options the files ddraw.lib and dxguid.lib.

the second fix was to make a window ap instead of console.

thanks a millon.

Share this post


Link to post
Share on other sites