error:opencv有两个版本引起冲突

Posted Jessica&jie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了error:opencv有两个版本引起冲突相关的知识,希望对你有一定的参考价值。

有多个warning出现。。。版本冲突

解决办法:

cv_bridge[opencv和ros连接起来的桥],默认依赖的opencv版本是2.4.8,如果安装了新的opencv版本,比如3.1.0,那么在编译cv_bridge时候会提示无法找到opencv 2.4.8.so的库。

1.必须要先把旧版本的cv_bridge卸载掉:

sudo apt-get remove ros-indigo-cv-bridge

2.然后下载新版本的cv_bridge:

git clone https://github.com/ros-perception/vision_opencv.git

3.修改cv_bridge中的cmakelists.txt

find_package(OpenCV 3.1 REQUIRED)  //将opencv的版本指定为3.1

4.将里面的cv_bridge包拿出来,放到工作空间中,重新编译:

catkin_make --pkg cv_bridge  //catkin_make --pkg[package包],单独编译工作空间catkin_ws中的包;catkin_make编译所有的

也可以通过cmake编译

cd ~/catkin_ws/src/cv_bridge
mkdir build
cd build
cmake ..
make
sudo make install

结束之后你就可以更改你的其他代码了,由于以前的cv_bridge不见了,所以要在其他代码的cmakelists.txt添加一句话,后面的路径是自己的路径,查找cv_bridge.config.cmake所在的路径即可

set(cv_bridge_DIR /usr/local/share/cv_bridge/cmake)  //在find_package前面
5.python调用cv_bridge相关的工作
在~/.bashrc中添加
export LD_LIBRARY_PATH=/usr/local/lib/

 

以上是关于error:opencv有两个版本引起冲突的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 Opencv 和 GTKmm 之间的冲突?

如何区分两个“onpause”事件 - 由单击“暂停”按钮引起,以及由到达媒体片段末尾引起?

Oracle 数据库 - 使用UEStudio修改dmp文件版本号,解决imp命令恢复的数据库与dmp本地文件版本号不匹配导致的导入失败问题,“ORACLE error 12547”问题处理(代码片段

mvn命令异常:An error has occurred in Javadoc report generation: Unable to find javadoc command异常已解决(代码片段

mvn命令异常:An error has occurred in Javadoc report generation: Unable to find javadoc command异常已解决(代码片段

2017第43周日