天天看點

error LNK2019: 無法解析的外部符号及fatal error LNK1104: 無法打開檔案“XXX".lib“

error LNK2019: 無法解析的外部符号

fatal error LNK1104: 無法打開檔案“XXX".lib“

error LNK2019: 無法解析的外部符号這個錯之前見過很多次,能知道最根本的原因在于連結過程中沒有搜尋到程式用到的庫檔案,即*.lib

本質上要檢查以下幾點:

一、確定依賴項及生成順序
error LNK2019: 無法解析的外部符号及fatal error LNK1104: 無法打開檔案“XXX".lib“
error LNK2019: 無法解析的外部符号及fatal error LNK1104: 無法打開檔案“XXX".lib“
二、確定庫使用的頭檔案

要使用庫的項目中要有包含使用的庫相關代碼的頭檔案

頭檔案中使用要確定,在庫中要預定義

DLLCLASS_EXPORTS

,而使用庫的項目中包含的頭檔案中不預定義該定義:

#ifdef DLLCLASS_EXPORTS
   #define EXT_CLASS _declspec(dllexport)
#else
   #define EXT_CLASS _declspec(dllimport)
#endif
           
error LNK2019: 無法解析的外部符号及fatal error LNK1104: 無法打開檔案“XXX".lib“
三、附加依賴庫 及 附加依賴項:填寫附加依賴庫的名字.lib
error LNK2019: 無法解析的外部符号及fatal error LNK1104: 無法打開檔案“XXX".lib“
error LNK2019: 無法解析的外部符号及fatal error LNK1104: 無法打開檔案“XXX".lib“
四、確定動态庫及其lib的位置,我這裡是和使用庫的用戶端.exe放在一起
error LNK2019: 無法解析的外部符号及fatal error LNK1104: 無法打開檔案“XXX".lib“

繼續閱讀