您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Linux系統中提示/usr/bin/ld: cannot find -lxxx錯誤怎么辦,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
在linux環境編譯應用程式或lib的source code時常常會出現如下的錯誤訊息:
/usr/bin/ld: cannot find -lxxx
這些訊息會隨著編譯不同類型的source code 而有不同的結果出來如:
代碼如下:
/usr/bin/ld: cannot find -lc
/usr/bin/ld: cannot find -lltdl
/usr/bin/ld: cannot find -lXtst
其中xxx即表示函式庫文件名稱,如上例的:libc.so、libltdl.so、libXtst.so。
其命名規則是:lib+庫名(即xxx)+.so。
會發生這樣的原因有以下三種情形:
1 系統沒有安裝相對應的lib
2 相對應的lib版本不對
3 lib(.so檔)的symbolic link 不正確,沒有連結到正確的函式庫文件(.so)
解決方法:
(1)先判斷在/usr/lib 下的相對應的函式庫文件(.so) 的symbolic link 是否正確
若不正確改成正確的連結目標即可解決問題。
(2)若不是symbolic link 的問題引起,而是系統缺少相對應的lib安裝lib即可解決。
(3)如何安裝缺少的lib:
以上面三個錯誤訊息為例:
代碼如下:
錯誤1缺少libc的LIB
錯誤2缺少libltdl的LIB
錯誤3缺少libXtst的LIB
以Ubuntu為例:
先搜尋相對應的LIB再進行安裝的作業如:
代碼如下:
apt-cache search libc-dev
apt-cache search libltdl-dev
apt-cache search libXtst-dev
實例:
在進行輸入法gcin的Source Code的編譯時出現以下的錯誤訊息:
代碼如下:
/usr/bin/ld: cannot find -lXtst
經檢查后發現是:
lib(.so檔)的symbolic link 不正確
解決方法如下:
代碼如下:
cd /usr/lib
ln -s libXtst.so.6 libXtst.so
如果在/usr/lib的目錄下找不到libXtst.so 檔,那么就表示系統沒有安裝libXtst的函式庫。
解法如下:
apt-get install libxtst-dev
關于“Linux系統中提示/usr/bin/ld: cannot find -lxxx錯誤怎么辦”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。