c++菜鳥一枚,使用c++時,經常會碰到的乙個問題:error link2001 無法解析的外部符號。雖然經常出現,但每次好像原因又都不同。
在此憑回憶記錄一下,以供下次出現問題時排查。
1. 包含目錄和庫目錄有問題(多了或者少了或者錯了);
2. 未宣告命名空間;
3. 基類宣告了虛函式,僅派生類對此定義不可以,也需要在基類中進行定義;
4.附加依賴項中的輸入lib少了或者不對
5. 自己定義庫的時候未宣告export或者import,庫標頭檔案中追加
#ifdef my_exports
#define my_api __declspec(dllexport)
#else
#define my_api __declspec(dllimport)
#endif
error LINK2001錯誤原因及解決方法
如果在 atl 元件程式中呼叫了 crt 的執行時刻庫函式,比如開平方 sqrt 那麼編譯的時候可能會報錯 error lnk2001 unresolved external symbol main 怎麼辦?下面方法中的任何乙個都可以糾正這個錯誤 去除 atl min crt這個預處理符號 開啟st...
error LNK2001 無法解析的外部符號
vc 時經常會遇到鏈結錯誤lnk2001,該錯誤非常討厭,因為對於程式設計者來說,最好改的錯誤莫過於編譯錯誤,而一般說來發生連線錯誤時,編譯都已通過。產生連線錯誤的原因非常多,尤其lnk2001錯誤,常常使人不明其所以然。如果不深入地學習和理解vc 要想改正連線錯誤lnk2001非常困難。初學者在學...
error LNK2001 無法解析的外部符號
vc 時經常會遇到鏈結錯誤lnk2001,該錯誤非常討厭,因為對於程式設計者來說,最好改的錯誤莫過於編譯錯誤,而一般說來發生連線錯誤時,編譯都已通過。產生連線錯誤的原因非常多,尤其lnk2001錯誤,常常使人不明其所以然。如果不深入地學習和理解vc 要想改正連線錯誤lnk2001非常困難。初學者在學...