在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/
即可編譯成功。