刚开始使用VS2017新建项目工程时,有时把应用类型的工程建成控制台类型的工程,在编译时报如下错误:
如果是Windows程序,那么WinMain是入口函数,新建项目为“win32项目”
如果是控制台应用程序,那么main是入口函数,新建项目为“win32控制台应用程序”
解决办法:
方法一:
win32项目→win32控制台应用程序:项目——项目属性——配置属性——链接器——系统——(右边)子系统——将“Windows (/SUBSYSTEM:WINDOWS)”改为“控制台(/SUBSYSTEM:CONSOLE)”
win32控制台应用程序→win32项目:项目——项目属性——配置属性——链接器——系统——(右边)子系统——将“控制台(/SUBSYSTEM:CONSOLE)“改为“Windows (/SUBSYSTEM:WINDOWS)”
方法二:
win32项目→win32控制台应用程序:在源程序中添加代码 #pragma comment(linker, "/entry:mainCRTStartup /subsystem:windows")
win32控制台应用程序→win32项目:在源程序中添加代码 #pragma comment(linker, "/entry:WinMainCRTStartup /subsystem:windows")