写在前面
自己的测试环境
Ubuntu20.04, PCL-1.10
一、问题描述
自己在编译ndt_omp功能包的时候,出现报错 error: #error PCL requires C++14 or above
,并且后面一堆报错。
/usr/include/pcl-1.10/pcl/pcl_config.h:7:4: error: #error PCL requires C++14 or above
7 | #error PCL requires C++14 or above
| ^~~~~
In file included from /usr/include/pcl-1.10/pcl/pcl_macros.h:77,
from /usr/include/pcl-1.10/pcl/PCLHeader.h:10,
from /usr/include/pcl-1.10/pcl/point_cloud.h:47,
刚开始以为是PCL版本问题,后来翻到其他博主的博客,发现在CMakeLists.txt中作如下修改就可以编译通过了.
二、解决方法
方法一:
# 注释掉 关于 c++11特性 的设置。
方法二:
如果 方法一
不能解决问题,那就在注释掉关于 c++11特性 的设置之后,再添加 c++14 的设置:
# set(CMAKE_CXX_STANDARD 11)
set( CMAKE_CXX_STANDARD 14)
参考链接:
[1] 代码多少钱一两. PCL报错:PCL requires C++14 or above [EB/OL].https://blog.csdn.net/handily_1/article/details/122421305, 2022-12-27/2023-10-31.