- 一级目录
- 二级目录
- 三级目录
- 下载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
高赞回答
-
Add set (CMAKE_CXX_STANDARD 11) to your top level cmake
-
In cv_bridge/src CMakeLists.txt line 35 change to if (OpenCV_VERSION_MAJOR VERSION_EQUAL 4)
-
In cv_bridge/src/module_opencv3.cpp change signature of two functions
`UMatData* allocate(int dims0, const int* sizes, int type, void* data, size_t* step, int flags, UMatUsageFlags usageFlags) const`TO
`UMatData* allocate(int dims0, const int* sizes, int type, void* data, size_t* step, AccessFlag flags, UMatUsageFlags usageFlags) const`
TO
`bool allocate(UMatData* u, AccessFlag accessFlags, UMatUsageFlags usageFlags) const`- 然后以可以重新编译
最后在所需要使用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)



