opencv: error while loading shared libraries問題的解決

ARM 開發板運行程序:error while loading shared libraries: …/…/lib/libopencv_core.so: cannot open shared object file: No such file or directory的解決

好不容易交叉編譯好opencv和qt,且已經將需要的庫都移植到arm板(已搭建最小系統板)上,將編譯好的程序拷到板子上運行時,出現:error while loading shared libraries: …/…/lib/libopencv_core.so: cannot open shared object file: No such file or directory
參考其他博客,明白問題的所在是opencv的庫沒有配置好,

  1. 常規做法是:

修改/etc/ld.so.conf文件,有些系統沒有這個文件,而是/etc/id.so.conf.d目錄,這時在目錄下新建一個opencv.conf文件,在文件末尾添加:

yourOpencvPath/lib

比如我的就是/usr/local/arm/opencv-arm/lib。
然後在終端下:

ldconfig

保存退出,然後修改/etc/profile,末尾添加:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

保存退出,終端下:

source /etc/profile

涉及到權限問題的話,在前面加sudo。然後就應該可以了,但是我的不可以,運行後還是出現同樣的問題。

2.我的方法

其實很簡單,既然系統在…/…/lib下找不到文件,那提示缺少哪個.so文件,就把它複製到系統的/lib路徑下。
例如,在yourOpencvPath/lib路徑下,終端:

cp libopencv_core.so /lib
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章