ubuntu在编译文件过程中出现cv_bridge报错问题的解决

首先解释一下在编译过程中出现这样的问题原因是因为编译文件中用到的Opencv版本与安装的ROS中的opencv版本不兼容导致的,下面是解决办法:

在/opt/ros/melodic/share/cv_bridge/cmake路径下sudo 使用gedit或者vim打开cv_bridgeConfig.cmake文件。打开后,发现cv_bridge正是由于版本配合,指向为ROS自带的OpenCV版本,此时我们只需要修订以下两处:

第一处:
if(NOT "include;/usr/include;/usr/include/opencv4 " STREQUAL " ")
#根据你所需的OpenCV路经改为:
if(NOT "include;/usr/include;/usr/local/include/opencv" STREQUAL " ")
 ubuntu在编译文件过程中出现cv_bridge报错问题的解决_第1张图片
第二处:
set(libraries "cv_bridge;/usr/lib/aarch64-linux-gnu/libopencv_core.so.3.2.0;/usr/lib/aarch64-linux-gnu/libopencv_imgproc.so.3.2.0;/usr/lib/aarch64-linux-gnu/libopencv_imgcodecs.so.3.2.0")
#根据你所需的OpenCV库版本(这里我们使用的是3.3.1)的路经改为:
set(libraries "cv_bridge;/usr/local/lib/libopencv_core.so.3.3.1;/usr/local/lib/libopencv_imgproc.so.3.3.1;/usr/local/lib/libopencv_imgcodecs.so.3.3.1")

 再次编译即可通过。

你可能感兴趣的:(ubuntu,linux,运维)