目录
一、问题情景:
在catkin_make的时候,报错:
二、问题原因:
在 /usr/lib/x86_64-linux-gnu/ 路径下找不到 libopencv_dnn.so.4.2.0 文件。
三、解决方法:
在计算机中查找该文件:
其他位置 - 计算机 - 搜索
两种情况:
1、在计算机中找得到该文件:
将该文件复制到报错提示的路径下,例如:make[2]: *** 没有规则可制作目标“/usr/lib/x86_64-linux-gnu/libopencv_dnn.so.4.2.0”,由“/home/cc/project/yolov8_ros121/devel/lib/yolov8_trt/detect” 需求。 停止。
则将你搜索到的文件复制到/usr/lib/x86_64-linux-gnu/下,问题解决。
文件复制命令:
sudo cp /usr/local/lib/libopencv_dnn.so.4.2.0 /usr/lib/x86_64-linux-gnu
如果有批量的文件需要复制,用命令行的方式就会导致效率非常低下,这时候就需要用管理员权限批量文件复制,方法如下:
(1)ctrl+alt+t 打开一个终端
(2)输入命令并运行
sudo nautilus
这样就可以打开一个具有管理员权限的文件管理器,就可以批量可视化地处理文件了。
2、在计算机中找不到该文件:
通过该网址下载文件:
Ubuntu – Package Download Selection -- libopencv-contrib4.2_4.2.0+dfsg-5_amd64.deb
这里包含了libopencv的所有子文件,下载安装即可。下载方式如下:
这里可以点击亚洲的一个网址进行下载,当然如果你的系统版本与我的不一致,可以返回上一级目录选择对应的版本进行下载。
下载完成之后,进入该文件的上级目录,在该路径下打开终端:
输入命令:
sudo dkpg -i libopencv-contrib4.2_4.2.0+dfsg-5_amd64.deb
记得将文件名改为你下载的对应的文件
至此,问题解决。