while loading shared libraries: libopencv_highgui.so.3.4: cannot open shared object file解决办法

while loading shared libraries: libopencv_highgui.so.3.4: cannot open shared object file解决办法

我遇到这个问题是在不同容器里训练yolov4时遇到的。

运行darknet时的报错:
./darknet: error while loading shared libraries: libopencv_highgui.so.3.4: cannot open shared object file: No such file or directory

既然是opencv的库找到不到了,那重新编译一下opencv就没问题了。

opencv3.4.2的安装包下载地址:
链接:https://pan.baidu.com/s/1roXPJEudO-nIzUX5u1MFXg
提取码:eku1
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V4的分享

下载后解压

cd opencv
mkdir build
cd build

创建配置文件

$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
# 可选,如使用opencv_contrib, 采用如下命令生成编译配置文件
$ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..
# 可选,构建示例程序和文档
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=1 -D BUILD_DOCS=1 ..

在这里不用opencv_contrib,所以不用那么麻烦,直接跑第一条命令就OK

构建opencv

# -j后面数学代表线程数,这里想用几条并行线程由自己决定
make -j3 

安装opencv

sudo make install

配置环境变量

1、sudo gedit /etc/ld.so.conf.d/opencv.conf
     # 打开后可能是空文件,在文件内容最后添加
     /usr/local/lib
2、更新系统库
     sudo ldconfig
3、配置bash
     sudo gedit /etc/bash.bashrc  
     //在末尾添加
     PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
4、更新bash文件
     source ~/.bashrc
     sudo updatedb

这时再跑darknet,就没问题了

你可能感兴趣的:(Python)