darknet2ncnn编译中 libopencv 库文件找不到

问题描述

没有直接从 github 上下载 darknet2ncnn 包,用的是他人提供的包,包已经编译好。解压已经有 convert_verify 文件。执行该文件,问题描述如下:

root@kaldidev:~/zhouyi/darknet2ncnn-master# chmod +x convert_verify
root@kaldidev:~/zhouyi/darknet2ncnn-master# ./convert_verify data/yolov3-tiny_finger.cfg  data/yolov3-tiny_finger.weights example/zoo/yolov3-tiny_finger.param  example/zoo/yolov3-tiny_finger.bin finger.jpg
./convert_verify: error while loading shared libraries: libopencv_core.so.2.4: cannot open shared object file: No such file or directory

可以看到,反馈是 libopencv_core.so 找不到。

问题原因

opencv 我是直接使用如下命令安装的。

sudo apt install libopencv-dev

具体安装过程可以参考这个文章,https://blog.csdn.net/justidle/article/details/104948080。这个 opencv 版本为 3.2。

提供包文件用使用的是 2.4 版本。

问题解决

确定 opencv 库文件路径

我是通过 find 来查的。

root@kaldidev:/# find -name libopencv_highgui*
./usr/lib/x86_64-linux-gnu/libopencv_highgui.a
./usr/lib/x86_64-linux-gnu/libopencv_highgui.so.3.2
./usr/lib/x86_64-linux-gnu/libopencv_highgui.so
./usr/lib/x86_64-linux-gnu/libopencv_highgui.so.3.2.0

可以发现我机器上 opencv 包所在路径为 ./usr/lib/x86_64-linux-gnu/。

设置 lib 文件路径

1、修改 /etc/ld.so.conf 文件,使用 sudo vi /etc/ld.so.conf,在该文件中增加路径 /usr/lib/x86_64-linux-gnu。如下图。

然后保存文件退出。

2、运行 sudo ldconfig,生效文件。

扫描二维码关注公众号,回复: 10409491 查看本文章

3、修改 /etc/bash.bashrc 文件,使用 sudo vi /etc/bash.bashrc,在最后一行增加如下图所示的命令。

然后保存文件退出。

4、运行 source /etc/bash.bashrc,使之生效。

发布了268 篇原创文章 · 获赞 309 · 访问量 108万+

猜你喜欢

转载自blog.csdn.net/justidle/article/details/104951741