在linux環(huán)境編譯應用程式或lib的source code時常常會出現(xiàn)如下的錯誤訊息:
其中xxx即表示函式庫文件名稱,如上例的:libc.so、libltdl.so、libXtst.so。
其命名規(guī)則是:lib+庫名(即xxx)+.so。
會發(fā)生這樣的原因有以下三種情形:
1 系統(tǒng)沒有安裝相對應的lib
2 相對應的lib版本不對
3 lib(.so檔)的symbolic link 不正確,沒有連結到正確的函式庫文件(.so)
解決方法:
(1)先判斷在/usr/lib 下的相對應的函式庫文件(.so) 的symbolic link 是否正確
若不正確改成正確的連結目標即可解決問題。
(2)若不是symbolic link 的問題引起,而是系統(tǒng)缺少相對應的lib安裝lib即可解決。
(3)如何安裝缺少的lib:
以上面三個錯誤訊息為例:
以Ubuntu為例:
先搜尋相對應的LIB再進行安裝的作業(yè)如:
實例:
在進行輸入法gcin的Source Code的編譯時出現(xiàn)以下的錯誤訊息:
經(jīng)檢查后發(fā)現(xiàn)是:
lib(.so檔)的symbolic link 不正確
解決方法如下:
如果在/usr/lib的目錄下找不到libXtst.so 檔,那么就表示系統(tǒng)沒有安裝libXtst的函式庫。
解法如下:
新聞熱點
疑難解答