我正在尝试使用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;
}
据我所知,后者期望第三个参数是指向宽字符字符串的指针,而前者则不需要。但当我在CodeBlocks中编译时,只会得到以下消息:“undefined reference to WinMain@16”。 显然,CodeBlocks希望是不接收LPWSTR值作为参数的WinMain版本。 我的问题是,如何配置CodeBlocks以便使用wWinMain进行编译?