在ubuntu下編譯C或cpp文件時,可能會出現找不到鏈接庫的問題,其形式為:
cannot find -l****
這里的**通常是指的鏈接庫。比方,剛剛裝好opencv,依照網上教程一步步編譯好了。最后依照教程想要編譯一下/example/c下的樣例試試,結果運行了
./build_all.sh
后,爆出一堆上面這樣的錯誤。比方,我在自己電腦上出現的錯誤就是找不到下面庫
cannot find -lcudart
cannot find -lnppc
cannot find -lnppi
cannot find -lnppc
cannot find -lnpps
這說明下面庫文件鏈接有問題,也就是find后面的參數中,l的后面就是庫文件的名字,只是須要手動在名字前補齊lib
libcudart
libnppc
libnppi
libnppc
libnpps
既然是lib文件鏈接有問題。簡單了。這樣的情況分兩種
1、在usr/lib文件夾下有這些庫文件
直接修復下面鏈接就可以。比如依次運行
ln -s lib***.so.6(某個數字) lib***.so
就可以
2、在usr/lib文件夾下沒有這些文件
直接在系統根文件夾中依次搜索這些庫文件,並使用
sudo cp 庫文件名稱 /usr/lib
命令將對應庫文件復制到該文件夾中就可以
