opencv4编译报错

编译opencv4.x的版本和pcl时,由于版本更新,很多函数发生了改变,导致报错,将我遇到的与大家分享一下
1、出现找不到opencv的问题,主要是在源码中,包含头文件时找不到opencv,解决方法,修改源码:在opencv4中opencv2的cv.h融合进了imgproc.hpp里,所以把源码中的#include 改成#include 即可。我一开始还以为我没装opencv,差一点就准备重新安装了,不知道是啥时候安装的,有可能是安装ros或者pcl?不确定,反正现在是有4.2.2的版本。

opencv问题解决后,我想着终于可以编译成功啦,唉,还是我太天真,这次直接报错整页红,导致一页都装不下,我甚至看不见前面的错误是什么,我太难了!!
那就从68步开始吧,报错
2、/usr/include/pcl-1.10/pcl/point_types.h:603:1: error: ‘plusscalar’ is not a member of ‘pcl::traits’
相关资料较少,但是我找到一个相近的,也是XX不属于pcl::trator类似的报错,是由于进行cmake的时候没有指定C++的版本(小声bb,但是这和报错貌似没什么关系啊)但我还是按照他的建议改了,即在cmakelist.txt文件开头添加一句:set(CMAKE_CXX_STANDARD 14),以指定C++版本,修改完成后,相关的不是类成员的错误都没了,但是还有别的错误。继续!!

3、关于CV_RGB2GRAY报错,是因为版本更新,函数发生了变化,修改:将CV_RGB2GRAY改为cv::COLOR_RGB2GRAY
4、关于CV_FONT_HERSHEY_SIMPLEX报错,是因为函数变化,修改:将CV_FONT_HERSHEY_SIMPLEX改为cv::FONT_HERSHEY_SIMPLEX,这个真是害人不浅啊!!。

你可能感兴趣的:(SLAM,opencv,c++,linux)