歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> 解決/usr/bin/ld: cannot find -lxxx

解決/usr/bin/ld: cannot find -lxxx

日期:2017/3/1 13:52:57   编辑:關於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
Copyright © Linux教程網 All Rights Reserved