剛開始使用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")