/usr/bin/ld: cannot find -l(...XXX) 問題的解決辦法


在ubuntu上安裝軟件時,經常出現這樣的問題:

/usr/bin/ld: cannot find -l****

例如: 
/usr/bin/ld: cannot find -lcaffe 安裝 需要caffe的相關軟件 時出現 

 

這些問題都是因為找不到相應的lib文件,以上面的例子來說就是在系統中找不到libcaffe.so文件。

以libcaffe.so為例,我們先在系統中查找下該文件。命令為: 

locate libcaffe

結果顯示如下: 

 

常用方法:

進入/usr/lib/x86_64-linux-gnu/目錄中,新建一個libcaffe.so的軟連接,使其鏈接到已有的libcaffe.so文件(如libcaffe.so.1)。

命令為: 

sudo ln -s libcaffe.so.1 libcaffe.so

可以在/usr/lib/x86_64-linux-gnu/目錄中檢查是否成功:

​​​​​​​ll libcaffe.so*

 

另外一種情況是,上述情況未報錯,而是在編譯自己工作空間時報的錯,則需要在自己項目的CmakeLists.txt下寫上:

link_directories(<path_to_caffe_installation_build_lib>)

<path_to_caffe_installation_build_lib>是指上面 locate 命令的libcaffe.so的路徑,以上面的例子來說就是

/home/onyxia/caffe/.build_release/lib/

即可編譯成功。 


免責聲明!

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



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