CVBridge 与高版本OPENCV冲突解决

一级目录

二级目录

三级目录

下载cvbridge

mkdir -p cv_bridge_ws/src
cd cv_bridge_ws/src
git clone https://gitee.com/bingobinlw/cv_bridge  //此链接适用于18.04
cd ..

编译

  • 然后将自己安装的opencv编译生成的build文件路径加入到克隆下来的这个包里的CMakeLists.txt,修改添加下列语句(详见此文件目录下的CMakeLists.txt文件)
set(OpenCV_DIR "your-path/opencv-x.x.x/build")
catkin_make

编译问题

https://github.com/ros-perception/vision_opencv/issues/272

高赞回答

  1. Add set (CMAKE_CXX_STANDARD 11) to your top level cmake

  2. In cv_bridge/src CMakeLists.txt line 35 change to if (OpenCV_VERSION_MAJOR VERSION_EQUAL 4)

  3. In cv_bridge/src/module_opencv3.cpp change signature of two functions

    TO

TO

  • 然后以可以重新编译

使用

最后在所需要使用cv_bridge的ros包里的CMakeLists.txt文件中添加opencv路径以及cv_bridge路径

set(OpenCV_DIR "your-path/opencv-x.x.x/build")
set(cv_bridge_DIR your-path/cv_bridge_ws/devel/share/cv_bridge/cmake)

版权声明:本文为guangqianzhang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。