为了账号安全,请及时绑定邮箱和手机立即绑定

如何在CMake中激活C+11?

如何在CMake中激活C+11?

C++
人到中年有点甜 2019-07-22 14:46:39
如何在CMake中激活C+11?当我试图运行CMake生成的makefile来编译我的程序时,我得到的错误是C+98模式不支持基于循环的范围。我试着添加add_definitions(-std=c++0x)敬我的CMakeLists.txt但没什么用。我也试过这个:if(CMAKE_COMPILER_IS_GNUCXX)     add_definitions(-std=gnu++0x)endif()当我这么做的时候g++ --version我明白:G+(Ubuntu/Linaro 4.6.1-9 ubuntu3)4.6.1我也试过SET(CMAKE_CXX_FLAGS "-std=c++0x")也不起作用。我不明白如何使用CMake激活C+11功能。
查看完整描述

3 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

我在用

include(CheckCXXCompilerFlag)CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)if(COMPILER_SUPPORTS_CXX11)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")elseif(COMPILER_SUPPORTS_CXX0X)
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")else()
        message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")endif()

但如果你想玩C++11g++ 4.6.1已经很老了。试着换个新的g++版本。


查看完整回答
反对 回复 2019-07-22
  • 3 回答
  • 0 关注
  • 432 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信