前文提示,本文只是记录笔者成功的经历,方便笔者日后自行查看,故相对于其他文章并没有这么全面 推荐查看文章已放在文章末尾,推荐自行查看
下载opencv源码
点进链接选择自己需要的版本即可(笔者使用的是3.4.5)
问题描述
笔者在编译开源代码时候,由于电脑上安装了多个oepncv版本,(或者因为ros默认opencv版本与所安装的版本不同) 在编译的时候出现了形如
libopencv什么的一个报错
尝试将报错喂给gpt,说是因为找到了不同版本的lib什么的东西,如果单纯在CMake里面链接上想要的opencv版本的路径是不行的,各位可以尝试
解决
按照链接内步骤下载
cv_bridge: cv-bridge for melodic
其中在cv_bridge的CMake里修改:
添加
set(OpenCV_DIR "home/good/opencv-3.4.5/build/unix-install")
注意后面这个路径,我查询了下 是你下载的opencv代码中OpenCVConfig.cmake文件的路径,如图,这是我的路径
然后进行编译
如果在编译过程中出现了找不到boost_python3
的报错,
将CMakeLists.txt
中的以下部分注释掉即可,如下图所示:
再编译,即可
而后去到需要编译的源码处,在有用到cv_bridge的CMake里都添加一句话:
set(cv_bridge_DIR "/home/good/cv_bridge_ws/devel/share/cv_bridge/cmake")
其中后面的路径是cv_dridge_ws的,这时再进行编译即可
参考文章:
【OpenCV版本问题】_opencv版本选择-CSDN博客
如若没有解决,可以查看如下文章
ROS学习:cv_bridge与opencv版本冲突三种解决方案_ros节点冲突-CSDN博客
多个ROS包使用不同Opencv版本冲突解决_把ros依赖库从opencv4.2升到opencv4.6-CSDN博客
标签:bridge,编译,opencv,路径,OpenCV,冲突,版本,cv From: https://blog.csdn.net/2302_80400339/article/details/145040677