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 ++ (우분투 / 리나로 4.6.1-9 우분투 3) 4.6.1
또한 시도했지만 SET(CMAKE_CXX_FLAGS "-std=c++0x")
작동하지 않습니다.
CMake를 사용하여 C ++ 11 기능을 활성화하는 방법을 이해하지 못합니다.
set(CMAKE_CXX_STANDARD 11)
(대상을 정의하기 전에) 가장 좋은 방법입니다.
CXX_STANDARD
하지 않으므로 기본적으로 target_compile_features
크로스 플랫폼에서 작동하는 것을 원한다면 다시 넘어야 합니다.
SET(CMAKE_CXX_FLAGS "-std=c++0x")
나를 위해 잘 작동하므로 CMakeLists 파일의 다른 곳에 문제가있을 수 있습니다. 나중에 CMAKE_CXX_FLAGS의 내용을 실수로 덮어 쓰지 않도록하십시오.