VS 錯誤LINK2019 1120原因及解決辦法

2021-09-25 19:41:43 字數 666 閱讀 2616

現象:

採用分檔案寫法,main函式和被呼叫的類的成員函式不再在同乙個 .cpp裡,在main.cpp裡呼叫該類的成員函式,編譯器並沒有報錯,但是在鏈結時出現錯誤link2019 1120。但將main函式移到該類被呼叫成員函式所在的 .cpp檔案中,程式正常執行。

根因:

鏈結器在鏈結main函式中呼叫類的成員函式時,沒有鏈結到該函式定義處。

二、解決方法

(1)如果不管怎樣都報該錯,那麼工程建立的有問題。

可參考(2)有的朋友在做二次開發的時候,移植忘記將該檔案新增進工程,雖然vs工作目錄有該檔案,但不會主動鏈結到.exe中

新增庫檔案即可

(3)使用第三方庫檔案

在使用第三方庫檔案時,雖然有介面宣告給你使用,但並沒有實際定義,這時候需要到第三方編譯動態庫(一般都會使用動態的)的.lib。嘗試 :屬性->聯結器->輸入->附加依賴項   屬性->聯結器->常規->附加庫目錄    新增lib的路徑(最好用相對路徑)

(4)宣告定義不對稱

這種錯誤...很容易犯,如果函式名字了、型別、形參都相同,但是宣告、定義的形參const屬性或其他屬性不相同,f12可以跳轉,但是鏈結時無法成功的。

總之,就是要讓exel鏈結到該函式的定義。各

ACE的鏈結Link錯誤

很多人在 windows 使用ace 的時候往往會出現以下的 link 錯誤。why do i get errors while using tryentercriticalsection ace os.i 2384 error c2039 tryentercriticalsection is no...

VC 的鏈結錯誤LINK2001

學習vc 時經常會遇到鏈結錯誤lnk2001,該錯誤非常討厭,因為對於程式設計者來說,最好 改的錯誤莫過於編譯錯誤,而一般說來發生連 接錯誤時,編譯都已通過。產生連線錯誤的原 因非常多,尤其lnk2001錯誤,常常使人不明其所以然。如果不深入地學習和理解vc 要想改正連線錯誤lnk2001非常困難。...

常見的Link2001錯誤 轉貼

學習vc 時經常會遇到鏈結錯誤lnk2001,該錯誤非常討厭,因為對於程式設計者來說,最好改的錯誤莫過於編譯錯誤,而一般說來發生連線錯誤時,編譯都已通過。產生連線錯誤的原因非常多,尤其lnk2001錯誤,常常使人不明其所以然。如果不深入地學習和理解vc 要想改正連線錯誤lnk2001非常困難。初學者...