VS:win32项目与win32控制台应用程序的转换方法

时间:2024-03-10 14:35:23

刚开始使用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")