error link2001 無法解析的外部符號

2021-07-31 04:53:05 字數 417 閱讀 6137

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非常困難。初學者在學...