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

原文:https://www.cnblogs.com/asuser/articles/12297251.html

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

如果是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")

猜你喜欢

转载自www.cnblogs.com/SunShine-gzw/p/13401895.html