Hi,

I'm trying to make a release build of some software, which I believe was originally compiled under vs03, under vs05.

I've made a few changes to the source which works, and runs fine in debug mode. When I make a release build I get the following error:

Error 4 error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup LIBCMT.lib TaskSwitchXP
Error 5 fatal error LNK1120: 1 unresolved externals c:\....\TaskSwitchXP\Release\TaskSwitchXP.exe 1 TaskSwitchXP

Googling seemed to suggest I needed to change the compiler flag from /MT to /MD. This does indeed complete a release build without error. However, trying to run the exe I get:

The procedure entry point DrawShadowText could not be located in the dynamic link library COMCTL32.dll.

I don't know much about C++ or linking, but it appears to be trying to use a different version of this dll. However, why then does the debug build work fine, even when run from a standalong exe, but not the release build? How can I fix this? It's worth noting that the debug build is set to use /MTd still. The program itself does not contain this dll as a "side-by-side" dll in it's installed directory. I should also mention that this should be a native app, and not use any .NET or CLR functions.

Thanks,
Josh