Visual Studio 2008 IDE/Runtime Support

Jun 14, 2008 at 2:27 AM
Edited Jun 14, 2008 at 3:14 AM
John,

I read about this in MSDN Magazine, looks great. I downloaded the package and ran the VS2008 conversion through it and appears to have converted successfully. I was able to compile the entire release (Unicode Release), after dropping Boost into its proper location.

I wasn't, however, able to compile test_now out-of-box. I addressed most issues with literal ANSI strings (i.e. f->add_child<label>( new_(_T("Hello world")));) by including <tchar.h> in stdafx.h and wrapping them in _T() and also fixed up the Additional Library Directories (pointed to ../../../../lib/), but I'm stumped over an entry point issue. I receive the following from the linker: unresolved external symbol _WinMain@16. It appears, for whatever reason, the linker isn't finding the clearly defined entry point in main/main.cpp (because _tWinMain is incorrectly resolving to WinMain). I have verified the projects are properly setting UNICODE.

Did I forget to push a button somewhere? Have you tried this with VS2008's compiler/linker?

- Rafael

Jun 15, 2008 at 10:21 AM
I can successfully build Debug configuration in 2008, but I can't build Release. It is because Release configuration, contrary to its name, doesn't have "Character Set" property set to "Use Multi-Byte Character Set", instead it is set to "Use Unicode Character Set". Change that (and "../../../../lib") and you will be able to successfully build Release configuration too.

But, when I run test_now application it throws exception in f->add_child<label>( new_("Hello world")); because f is not valid window.
Coordinator
Jun 18, 2008 at 9:50 AM


__pero wrote:
I can successfully build Debug configuration in 2008, but I can't build Release. It is because Release configuration, contrary to its name, doesn't have "Character Set" property set to "Use Multi-Byte Character Set", instead it is set to "Use Unicode Character Set". Change that (and "../../../../lib") and you will be able to successfully build Release configuration too.

But, when I run test_now application it throws exception in f->add_child<label>( new_("Hello world")); because f is not valid window.


Hi pero,

First, thanks for the reply you gave to Rafael. Second, sorry 'bout that - what you encountered was a bug :) I will fix it ASAP.

Best,
John
Jun 20, 2008 at 4:54 AM
pero,

Thanks for the reply, however I hardly see that as a valid fix. Changing the projects to MBCS will break all UNICODE text I have in my application. The UNICODE debug and release configurations imply egui++ supports UNICODE. Is this not the case, John?

I'm actually more confused as to why the linker, despite the UNICODE configuration, is trying to still link to WinMain vice wWinMain.

- Rafael