Fix entry point in Unicode build of the MFC sample.
MFC needs the entry point to be wWinMainCRTStartup() in Unicode builds but the bakefile-generated projects use the default WinMain() so the sample didn't link in Unicode. Fix this by providing WinMain() which simply forwards to wWinMainCRTStartup() as this seems to work for all MSVC/CRT versions. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
bf3ed077c1
commit
0c9786de3a
@ -49,10 +49,6 @@
|
||||
// first: mfc[version][u]d.lib
|
||||
// - [version] -> 42 or 70 or 80 etc
|
||||
// - u if using Unicode
|
||||
//
|
||||
// (4) Unicode builds may produce the linker error "unresolved external symbol _WinMain@16".
|
||||
// MFC requires you to manually add the Unicode entry point to the linker settings,
|
||||
// Entry point symbol -> wWinMainCRTStartup
|
||||
|
||||
#include "stdafx.h"
|
||||
|
||||
@ -128,6 +124,18 @@ DECLARE_APP(MyApp)
|
||||
// notice use of IMPLEMENT_APP_NO_MAIN() instead of the usual IMPLEMENT_APP!
|
||||
IMPLEMENT_APP_NO_MAIN(MyApp)
|
||||
|
||||
#ifdef _UNICODE
|
||||
// In Unicode build MFC normally requires to manually change the entry point to
|
||||
// wWinMainCRTStartup() but to avoid having to modify the project options to do
|
||||
// it we provide an adapter for it.
|
||||
extern "C" int wWinMainCRTStartup();
|
||||
|
||||
int WINAPI WinMain(HINSTANCE, HINSTANCE, char *, int)
|
||||
{
|
||||
wWinMainCRTStartup();
|
||||
}
|
||||
#endif // _UNICODE
|
||||
|
||||
CMainWindow::CMainWindow()
|
||||
{
|
||||
LoadAccelTable( wxT("MainAccelTable") );
|
||||
|
Loading…
Reference in New Issue
Block a user