darknet2ncnn编译中 libopencv 库文件找不到

本文详细描述了在使用预编译的darknet2ncnn包时遇到libopencv_core.so.2.4缺失的问题,并提供了完整的解决方案,包括确定opencv库文件路径、设置lib文件路径等步骤。

问题描述

没有直接从 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,生效文件。

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

然后保存文件退出。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的老周

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值