鏈結錯誤的直接表現就是:****符號未定義。幾種常見的鏈結錯誤如下:
缺少*.o檔案 ---- 對策:將相應的檔案加入makefile或命令列
*.o檔案未更新 ---- 對策:刪除舊*.o檔案重新編譯或者依賴於最新的depend來編譯(增刪檔案時確保make depend)。
缺少相應的庫檔案 ---- 對策:將相應的檔案加入makefile或命令列
依賴的庫檔案版本不對或未更新 ---- 對策:重新生成所依賴的庫檔案
庫檔案的出現順序不對----- 對策:根據庫的依賴關係,調整庫出現的順序。原則:只允許先出現的庫依賴於後出現的庫。
其中,第5種錯誤最難發現。如果發現程式所需的庫都已經引入,但仍出現鏈結錯誤,應理清庫之間的依賴關係,確認是否某些基本庫被放到前面,導致後面的庫無法找到前面庫中的符號資訊!據說對於高版本gcc沒有這個問題。
GCC G 常見鏈結錯誤
鏈結錯誤的直接表現就是 符號未定義。幾種常見的鏈結錯誤如下 缺少 o檔案 對策 將相應的檔案加入makefile或命令列 o檔案未更新 對策 刪除舊 o檔案重新編譯或者依賴於最新的depend來編譯 增刪檔案時確保make depend 缺少相應的庫檔案 對策 將相應的檔案加入makefile或命令...
常見編譯鏈結錯誤
1.no such file or directory 首先檢查檔案路徑是否包含,如某標頭檔案不存在,一般是標頭檔案的路徑沒有include進來 其次檢查是否有巨集定義,巨集定義是否已生效。2.in function undefined 一般是鏈結錯誤,所需的的庫沒有鏈結編譯bin檔案時,鏈結了動態...
VC常見鏈結錯誤
1 lnk2019無法解析的外部符號 void cdecl tt audi searchcommand int,unsigned char tt audi searchcommand yaxhpae z 該符號在函式 unsigned int cdecl tt canbusmileageservic...