一般情況下,如果是windows程式,那麼winmain是入口函式,在vs2010中新建專案為「win32專案」
如果是dos控制台程式,那麼main是入口函式,在vs2010中新建專案為「win32控制台應用程式」
而如果入口函式指定不當,很顯然c語言執行時找不到配合函式,它就會報告錯誤。
修改設定適應你的需求
如果你需要的是windows程式:
1.選單中選擇 project->properties, 彈出property pages視窗
2.在左邊欄中依次選擇:configuration properties->c/c++->preprocessor,然後在右邊欄的preprocessor definitions對應的項中刪除_console, 新增_windows.
3.在左邊欄中依次選擇:configuration properties->linker->system,然後在右邊欄的subsystem對應的項改為windows(/subsystem:windows)
如果你需要的是控制台程式:
1.選單中選擇 project->properties, 彈出property pages視窗
2.在左邊欄中依次選擇:configuration properties->c/c++->preprocessor,然後在右邊欄的preprocessor definitions對應的項中刪除_windows, 新增_console.
3.在左邊欄中依次選擇:configuration properties->linker->system,然後在右邊欄的subsystem對應的項改為console(/subsystem:console)
如果本身**為win32專案,但是專案屬性設定為控制台應用程式,將提示下面的錯誤:
error lnk2019: 無法解析的外部符號 _winmain@16,該符號在函式 ___tmaincrtstartup 中被引用
msvcrtd.lib(crtexew.obj) : error lnk2019: 無法解析的外部符號 _winmain@16,該符號在函式 ___tmaincrtstartup 中被引用
debug\jk.exe : fatal error lnk1120: 1 個無法解析的外部命令
error lnk2001: unresolved external symbol _winmain@16
debug/main.exe:fatal error lnk 1120:1 unresolved externals
error executing link.exe;
參考文章:
lixuyuan, error lnk2019: 無法解析的外部符號 _winmain
沒有整理與歸納的知識,一文不值!高度概括與梳理的知識,才是自己真正的知識與技能。 永遠不要讓自己的自由、好奇、充滿創造力的想法被現實的框架所束縛,讓創造力自由成長吧! 多花時間,關心他(她)人,正如別人所關心你的。理想的騰飛與實現,沒有別人的支援與幫助,是萬萬不能的。
Win32控制台應用程式改變輸出顏色
一 用到的函式 獲得指向標準輸入,標準輸出和標準錯誤裝置的控制代碼 1.getstdhandle handle getstdhandle dword nstdhandle input,output,or error device value meaning std input handle stan...
如何隱藏win32控制台應用程式的視窗
有些時候,我們寫的win32控制台應用程式只是為了實現一些簡單的功能,並不希望出現乙個cmd視窗,此時 我們該怎麼做呢?下面是乙個簡單的方法,就是在程式開頭,引用標頭檔案之後加上這麼一句話,什麼意思呢?就是說,將程式指定為windows應用程式,並且指定其入口位址是main函式,為什麼要這麼做,因為...
win32視窗程式轉為控制台
windows支援兩種型別的程式,gui graphical user inte ce 和cui console user inte ce 他們是通過乙個叫載入器的東西進行載入,vs中只要修改聯結器 系統 子系統中的值,如果是gui則是 subsystem windows 如果是cui則是 subs...