【问题解决】编译darknet_ros时报错:OpenCV 4.x+ requires enabled C++11 support

分析:因为安装的ubuntu版本是20.04,对应安的noetic包里自带的是Opencv4.2,因此需要更改ros编译时使用的opencv版本。

解决:打开/opt/ros/noetic/share/cv_bridge/cmake/cv_bridgeConfig.cmake文件,做以下更改:(注释掉的是源代码,后边是更改后的)

#if(NOT "include;/usr/include/opencv4 " STREQUAL " ")

if(NOT "include;/usr/local/include/opencv; /usr/local/include/opencv2 "

当我执行catkin_make,出现报错interface.c:9: /usr/include/opencv4/opencv2/core/cvdef.h:704:4: error: #error "OpenCV 4.x+ requires enabled C++11 support" 704 | # error "OpenCV 4.x+ requires enabled C++11 support" | ^~~~~ compilation terminated due to -Wfatal-errors. make[2]: *** [darknet_ros/darknet_ros/CMakeFiles/darknet_ros_lib.dir/build.make:76:darknet_ros/darknet_ros/CMakeFiles/darknet_ros_lib.dir/src/image_interface.c.o] 错误 1 make[2]: *** 正在等待未完成的任务.... /home/wjy/gensui_ws/src/darknet_ros/darknet_ros/src/YoloObjectDetector.cpp: In member function ‘darknet_ros::IplImageWithHeader_ darknet_ros::YoloObjectDetector::getIplImageWithHeader()’: /home/wjy/gensui_ws/src/darknet_ros/darknet_ros/src/YoloObjectDetector.cpp:516:49: error: no matching function for call to ‘_IplImage::_IplImage(cv::Mat&)’ 516 | IplImage* ROS_img = new IplImage(camImageCopy_); | ^ In file included from /usr/include/opencv4/opencv2/core/core_c.h:48, from /usr/include/opencv4/opencv2/imgproc/types_c.h:46, from /opt/ros/noetic/include/cv_bridge/cv_bridge.h:45, from /home/wjy/gensui_ws/src/darknet_ros/darknet_ros/include/darknet_ros/YoloObjectDetector.hpp:30, from /home/wjy/gensui_ws/src/darknet_ros/darknet_ros/src/YoloObjectDetector.cpp:10: /usr/include/opencv4/opencv2/core/types_c.h:327:1: note: candidate: ‘_IplImage::_IplImage()’ 327 | _IplImage | ^~~~~~~~~ /usr/include/opencv4/opencv2/core/types_c.h:327:1: note: candidate expects 0 arguments, 1 provided /usr/include/opencv4/opencv2/core/types_c.h:327:1: note: candidate: ‘constexpr _IplImage::_IplImage(const _IplImage&)’ /usr/include/opencv4/opencv2/core/types_c.h:327:1: note: no known conversion for argument 1 from ‘cv::Mat’ to ‘const _IplImage&’ /usr/include/opencv4/opencv2/core/types_c.h:327:1: note: candidate: ‘constexpr _IplImage::_IplImage(_IplImage&&)’ /usr/include/opencv4/opencv2/core/types_c.h:327:
最新发布
03-20
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值