我试图用VisualStudio代码中的C++制作Windows桌面应用程序,并使用MINW作为编译器。
我在一个名为src的文件夹中有一个名为test.cpp的文件:
\ifndef UNICODE
#定义UNICODE
#恩迪夫
#包括<;windows.h>;
int wWinMain(HINSTANCE HINSTANCE、HINSTANCE hPrevInstance、PWSTR lpCmdLine、,
国际展览(nCmdShow){
常量wchar_t name[]=L“测试”;
WNDCLASS wc={};
//wc.lpfnWndProc=WindowProc;
wc.hInstance=hInstance;
wc.lpszClassName=名称;
注册类别(wc);
HWND HWND=CreateWindowEx(
0,
名称
L“窗口”,
W_边界,
CW_使用默认值,
CW_使用默认值,
1200,
720,
0,
0,
hInstance,
0);
if(hWnd==NULL){
返回0;
}
显示窗口(hWnd、nCmdShow);
}
但是当我编译时,我得到了这个错误:
>;正在执行的任务:g++-g test.cpp-o test.exe<;
c:/mingw/bin/./lib/gcc/mingw32/6.3.0/../../../../../libmingw32.a(main.o):(.text.startup+0xa0):未定义对`[email protected]'
collect2.exe:错误:ld返回了1个退出状态
终端进程终止,退出代码为:1
我在.vscode文件夹中还有一个tasks.json和一个launch.json:
tasks.json
“版本”:“2.0.0”,
“任务”:[
{
“标签”:“测试”,
“类型”:“外壳”,
“命令”:“g++”,
“选择”:{
“cwd”:“${workspaceFolder}/src”
},
“args”:[
“-g”、“test.cpp”、“-o”、“test.exe”
],
“集团”:{
“种类”:“建造”,
“isDefault”:正确
}
}
]
Launch.json
“版本”:“0.2.0”,
“配置”:[
{
“名称”:(Windows)启动“,
“类型”:“cppvsdbg”,
“请求”:“启动”,
“程序”:“${workspaceFolder}/src/test.exe”,
“args”:[],
“stopAtEntry”:false,
“cwd”:“${workspaceFolder}/src”,
“环境”:[],
“外部控制台”:正确,
“启动前任务”:“测试”
}
]
问题是,当我使用main函数构建一个文件时,它可以很好地编译,但是当使用wWinMain构建文件时,会发生错误,我不知道如何修复它。如果有人能帮我,我会非常感激的
我有类似的问题,手动保存文件并再次编译