release版本,程序可以编译通过,debug版本,提示下面的异常,这是怎么回事啊
release版本,程序可以编译通过,debug版本,提示下面的错误,这是咋回事啊?
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/Vidcap.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Vidcap.exe - 2 error(s), 0 warning(s)
我的main函数,是这样定义的
int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
------解决方案--------------------
你是不是 release 版设置的子系统是 windows, debug 版设置的子系统是 console。
以VS9为例,
项目->属性->配置属性->链接器->系统->子系统
看是
Windows (/SUBSYSTEM:WINDOWS)
还是
控制台(/SUBSYSTEM:CONSOLE)
前者需要 WinMain
后者需要 main
------解决方案--------------------
改 设置:
WinMain 是 “WINDOWS” ,subsytem: windows
main 是 “CONSOLE” , subsystem:console
------解决方案--------------------
工程属性设置选择正确的类型
------解决方案--------------------
显然是编译器认为你的是控制台程序,因此要求你提供main函数。
------解决方案--------------------
#pragma comment(linker,"/subsystem:windows")
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/Vidcap.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Vidcap.exe - 2 error(s), 0 warning(s)
我的main函数,是这样定义的
int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
------解决方案--------------------
你是不是 release 版设置的子系统是 windows, debug 版设置的子系统是 console。
以VS9为例,
项目->属性->配置属性->链接器->系统->子系统
看是
Windows (/SUBSYSTEM:WINDOWS)
还是
控制台(/SUBSYSTEM:CONSOLE)
前者需要 WinMain
后者需要 main
------解决方案--------------------
改 设置:
WinMain 是 “WINDOWS” ,subsytem: windows
main 是 “CONSOLE” , subsystem:console
------解决方案--------------------
工程属性设置选择正确的类型
------解决方案--------------------
显然是编译器认为你的是控制台程序,因此要求你提供main函数。
------解决方案--------------------
#pragma comment(linker,"/subsystem:windows")