Q:Error LNK2019 unresolved external symbol _WinMain@16 referenced in function "int __cdecl invoke_main(void)" (invoke_main@@YAHXZ)
A:產生這個問題可能的原因
1. 你用vc建了一個控制檯程序,它的入口函數應該是main, 而你使用了WinMain.
2. 與1相反
解決方法
1.進入project->setting->c/c++, 在category中選擇preprocessor,在processor definitions中刪除_CONSOLE, 添加_WINDOWS
2.進入project->setting->Link, 在Project options中將 /subsystem 設置爲Console (/SUBSYSTEM:CONSOLE)
3.保存設置,Rebuild
Q:C++經典錯誤之already defined in .obj解決方法之補充
A:最近在項目中,編寫了一個ini文件的操作類,在被其他代碼引用的過程中,總是會出現鏈接錯誤,即error LNK2005:already defined in .obj,記得最開始寫C++代碼時,也出現過這種錯誤,經過網絡資料,最後還是順利的解決了,但是這次的情況和以前有些不同,應該不算是這類錯誤的典型,後來經過嘗試,解決了這個問題。
添加相應的cpp文件,並將頭文件.h中的非模板函數都移到cpp文件,而模板函數的實現都放到文件.h中,這樣,當多處引用該頭文件的時候,就不會再出現該錯誤。