Когда я пытаюсь запустить созданный CMake make-файл для компиляции моей программы, я получаю сообщение об ошибке
Диапазон, основанный на циклах, не поддерживается в режиме 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-9ubuntu3) 4.6.1
Я тоже попробовал SET(CMAKE_CXX_FLAGS "-std=c++0x"), что тоже не работает.
Я не понимаю, как я могу активировать функции C ++ 11 с помощью CMake.
set(CMAKE_CXX_STANDARD 11)(перед определением цели) это лучший способ.
CXX_STANDARDэто не работает на MSVC, так что в основном вы должны отступить, target_compile_featuresесли вы хотите что-то, что работает кроссплатформенно.
SET(CMAKE_CXX_FLAGS "-std=c++0x")меня отлично работает, так что, возможно, проблема где-то еще в файле CMakeLists. Убедитесь, что вы случайно не перезаписали содержимое CMAKE_CXX_FLAGS позже.