如何在CMake中激活C+11?當(dāng)我試圖運行CMake生成的makefile來編譯我的程序時,我得到的錯誤是C+98模式不支持基于循環(huán)的范圍。我試著添加add_definitions(-std=c++0x)敬我的CMakeLists.txt但沒什么用。我也試過這個:if(CMAKE_COMPILER_IS_GNUCXX)
add_definitions(-std=gnu++0x)endif()當(dāng)我這么做的時候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貢獻(xiàn)1784條經(jīng)驗 獲得超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++11
, g++ 4.6.1
g++
- 3 回答
- 0 關(guān)注
- 487 瀏覽
添加回答
舉報
0/150
提交
取消