したがって、Win32を使用してCodeBlocksでウィンドウを作成しようとしていますが、これまでのところWinMainのこのバージョンのみが機能します(注:これは単純で単純な例です):
#include <windows.h>
INT WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, INT nCmdShow ) {
MessageBox( NULL, "Title", "Message", MB_OKCANCEL );
return 0;
}
ただし、このバージョンでは次のことはできません。
#include <windows.h>
INT WINAPI wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, INT nCmdShow ) {
MessageBox( NULL, "Title", "Message", MB_OKCANCEL );
return 0;
}
私の知る限り、後者は 3 番目の引数がワイド文字の文字列へのポインターであることを期待していますが、前者はそうではありません。しかし、CodeBlocks でコンパイルすると、次のメッセージだけが表示されます。
WinMain@16 への未定義の参照
どうやら CodeBlocks は、引数として LPWSTR 値を受け取らないバージョンの WinMain を想定しています。私の質問は、wWinMain でコンパイルされるように CodeBlocks を構成するにはどうすればよいですか?