ROS问题:#error This file requires compiler and library support for the ISO C++ 2011 standard.

        在解决了上面这篇博客ROS问题:Could not find a package configuration file provided by ......的问题之后,进行编译,结果出现了如下问题:

 

 即:


    In file included from /usr/include/c++/5/type_traits:35:0,
                 from /usr/include/gtest/gtest.h:59,
                 from /home/zydz/catkin_ws/src/navigation-melodic-devel/map_server/test/rtest.cpp:32:    
    /usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
     #error This file requires compiler and library support \
      ^


分析:从所报的错误来看,是和map_server这个ROS包报的错误有关,从提示可知编译器要支持2011标准才可以,需要从编译器那里加上-std=c++11 or -std=gnu++11。因此就有了以下解决方案:

解决方案1:找到map_server这个ROS包里面的CMakeLists.txt文件,向其中添加如下代码:

SET(CMAKE_CXX_FLAGS "-std=c++0x")

解决方案2:

SET(CMAKE_CXX_FLAGS "-std=c++11 -O3")

解决方案3:

SET(CMAKE_CXX_FLAGS "-std=gnu++11")

解决方案4

add_compile_options(-std=c++11)

解决方案5

add_compile_options(-std=gnu++11)

        从以上方案任选一种,均能解决前面编译出现的报错。问题解决。

参考网址

Regex in C++: Requires compiler support error

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值