关于ubuntu调用opencv,cvbridge等会出现opencv和ros冲突的问题
问题描述:
程序编译报错如图
/usr/bin/ld: warning: libopencv_imgproc.so.4.2, needed by /opt/ros/noetic/lib/libcv_bridge.so, may conflict with libopencv_imgproc.so.405
/usr/bin/ld: warning: libopencv_core.so.405, needed by /usr/local/lib/libopencv_imgproc.so.4.5.5, may conflict with libopencv_core.so.4.2
[100%] Built target fusion_from_pcd
/usr/bin/ld: warning: libopencv_imgproc.so.4.2, needed by /usr/lib/x86_64-linux-gnu/libopencv_imgcodecs.so.4.2.0, may conflict with libopencv_imgproc.so.405
/usr/bin/ld: warning: libopencv_core.so.405, needed by /usr/local/lib/libopencv_imgproc.so.4.5.5, may conflict with libopencv_core.so.4.2
[100%] Built target fusion_from_dir
PS :提醒自己
要在自己程序的cmakelist中作如下修改:
1、添加cv_bridge的cmake路径
set(cv_bridge_DIR /usr/local/share/cv_bridge/cmake) //在find_package前面
2、
find_package(OpenCV REQUIRED)
include_directories(
# include
${catkin_INCLUDE_DIRS}
)
include_directories(${OpenCV_INCLUDE_DIRS})
message(${OpenCV_INCLUDE_DIRS})
target_link_libraries(usb_cam
${catkin_LIBRARIES}
)
target_link_libraries(usb_cam ${OpenCV_LIBS}
)