/usr/bin/ld: cannot find -lxxx 問題 解決方法總結


最近在做畢設的收尾工作,很多程序都要部署到linux下來運行,遇到了挺多問題,昨天就集中性遇到了 在編譯應用時,遇到了

/usr/bin/ld: cannot find -lxxx

這種情況是系統找不到對應的庫文件,其中,-lxxx表示鏈接庫文件 libxxx.so。

其命名規則是:lib+庫名(即xxx)+.so。

會發生這樣的原因有以下三種情形:
1 系統沒有安裝相對應的lib
2 相對應的lib版本不對
3 lib(.so檔)的symbolic link 不正確,沒有連結到正確的函式庫文件(.so)

一般我們都是遇到了第三種情形,雖然安裝了指定的庫文件,但是沒有進行正確的連接。

對應第一二種情況,我們可以直接用apt-get來解決問題。

apt-get install libxxx-dev

第三種情形的話,我們先用locate和find來找到指定的lib文件,查看鏈接文件是否正確的指向了我們希望的lib,如果不是,用 ln -sf */libxxx.so.x */libxxx.so 指令修改它。

連接以后,輸入ldconfig來讓動態鏈接庫供系統共享。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM