Предупреждение командной строки D9002: игнорирование неизвестной опции '- std=c++11'
в своем CMakeList.txt файл, у меня есть следующее, Чтобы добавить поддержку c++11:
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
Это отлично работает под Mac с Xcode. Однако я получаю следующее предупреждение от Visual Studio. Есть идеи?
предупреждение командной строки D9002: игнорирование неизвестной опции' - std=c++0x'
кроме предупреждения компиляции, программа получает компиляция и запуск без проблем. Я использую VS2013. Если я удалю эту единственную строку "установить флаг", предупреждение исчезнет.
1 ответов
на -std=c++11
опция предназначена только для GCC / CLang, она недоступна в Visual Studio. Поддержка C++ 11 в Visual Studio должна быть включена по умолчанию. Таким образом, вы должны использовать эту опцию Только для GCC-подобных компиляторов:
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
endif()
Если вы используете последние версии CMake, вы можете попробовать использовать новый механизм функций компилятора:http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html