無法解析的外部符號 _tinMain@16
編譯出下如下錯誤:
error LNK2019: 無法解析的外部符號 _WinMain@16,該符號在函數 ___tmainCRTStartup 中被引用
error LNK1120: 1 個無法解析的外部命令 出這個錯誤可能有以下幾個原因:
解決方案一
新建項目是控制檯應用程序而程序通過的是WinMian(及windows入口函數)因爲新建項目的時候選擇的是控制檯應用程序,控制檯應用程序的入口是main。而在.CPP文件中提供的是windows入口函數WinMian。
解決辦法:
(1)項目->屬性->配置屬性->C/C++ ->預處理器 中的【預處理器定義】 刪除“_CONSOLE” 添加 “ _WINDOWS”
(2)項目->屬性->配置屬性->連接器->系統中的【子系統】設置爲Windows(/SUBSYSTEM:WINDOWS)
(3)生成->重新生成
解決方案二
WinMain的UNICODE版和ANSI版不匹配爲了支持UNICODE,C運行庫對WinMain其實區分了UNICODE版和ANSI版。對UNICODE版的程序,C運行庫調用wWinMain,而對於ANSI版的則調用WinMain。
解決辦法:
(1)將代碼中的 int APIENTRY _tWinMain 替換爲 INT WINAPI wWinMain (INT WINAPI wWinMain 替換爲 int APIENTRY _tWinMain )
(2)生成->重新生成解決方案