opencv和cv_bridge的版本依赖问题

参考:https://www.cnblogs.com/cv-pr/p/5366764.html

 

cv_bridge默认依赖的opencv版本是2.4.8,如果安装了新的opencv版本,比如2.4.11,那么在编译cv_bridge时候会提示无法找到opencv 2.4.8.so的库。

解决办法:

1.先卸掉自带的cv_bridge(ros的版本自己改一下)

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

然后下载新版本的cv_bridge:

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

将里面的cv_bridge包拿出来,放到catkin工作空间中,重新编译(先单独编译这个包,保证你的工作空间下的其他包不会因为你把cv_bridge卸载了出现错误):

catkin_make -DCATKIN_WHITELIST_PACKAGES="cv_bridge"

注意在编译cv_bridge之前先设置opencv的路径(如果opencv装在系统下的话就不用了,但是推荐安装到本地,以便于opencv的版本控制)。之后把单独编译这个包的命令去掉,否则之后用catkin_make命令会始终只编译这个包:

 

catkin_make -DCATKIN_WHITELIST_PACKAGES=""

不出意外的话,可以正常编译了,之前因为cv_bridge与opencv依赖产生的编译问题也正常编译通过了。

你可能感兴趣的:(OpenCV,slam)