SDK Question Problem setting Coding Preferences for 2010

JMW

Aspiring Addon Developer
Joined
Aug 5, 2008
Messages
670
Reaction score
89
Points
43
Location
Happy Wherever
I'm trying to set up my compiler Microsoft Visual Studio 2008
Version 9.0.30729.1 SP
Microsoft .NET Framework
Version 3.5 SP1
Installed Edition: VC Express
Microsoft Visual C++ 2008 91909-152-0000052-60321

to compile for 2010 but am getting this error message.
Code:
[SIZE=1]error LNK2019: unresolved external symbol "void __cdecl dummy(void)" (?dummy@@YAXXZ) referenced in function "void __cdecl calldummy(void)" (?calldummy@@YAXXZ)[/SIZE]

I've tried Googling for it and only came up with these replies:
http://www.orbiter-forum.com/showthread.php?t=9420
http://www.orbiter-forum.com/showthread.php?t=8516
http://www.orbiter-forum.com/showthread.php?t=7554

I've tried to implement the suggestions (as much as I can discern) but still end up with the above error.

Can anyone precis the advice given so I can check I've done all I need to in my case?

Thanks for any advice.

JMW
 
Set your mode to Release, add includes path, add libs path, add orbiter.lib and orbitersdk.lib and ignore msvcrt.lib and msvcirt.lib
 
Switch to release? Before you start? Sounds like a bad plan to me, unless you're not planning to debug at all. I use debug mode to run through all sorts of memory checking with the #ifdef debug directive, plus it runs all the debug libs. It should really stay in debug until the last test, or beta releases etc, not right at the start of the project. Yeah you'll have to configure all the settings twice, but it's really worth it. :hail: debugger.
 
If I get any linker errors with already defined symbols (or some undefined) in VC++ 2008, I set for VCLinker tool -

For Debug:
Code:
IgnoreDefaultLibraryNames="msvcirt.lib;msvcrt.lib;libcmt.lib"
For Dynamic (multithreaded dll) Release:
Code:
IgnoreDefaultLibraryNames="msvcirt.lib;libcmt.lib;libcpmt.lib"
For Static Release:
Code:
IgnoreDefaultLibraryNames="msvcirt.lib;msvcrt.lib;msvcprt.lib"
Other standard libraries should be included by default, but if default libraries are ignored, then there will be unresolved symbols, and you need to add those libraries to additional dependencies, like (for multithreaded dll release build):
Code:
AdditionalDependencies="msvcrt.lib msvcprt.lib orbiter.lib Orbitersdk.lib"

There is no need to configure settings twice. I just open the .vcproj file in text editor and copy appropriate lines from Debug to Release or vice versa. :P
The only settings more that need to be configured in Debug mode are Command and WorkingDirectory for running Orbiter.
 
Back
Top