Используйте это так:

ользую VS 15.3, который поддерживает интегрированный CMake 3.8. Как я могу ориентироваться на C ++ 17 без написания флагов для каждого конкретного компилятора? Мои текущие глобальные настройки не работают:

# https://cmake.org/cmake/help/latest/prop_tgt/CXX_STANDARD.html
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

# expected behaviour
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++lastest")

Я ожидал, что CMake добавит "/ std: c ++ lastest" или эквиваленты при создании файлов решения VS, но флаги c ++ 17 не были найдены, что привело к ошибке компилятора:

C1189 #error: class template optional is only available with C++17.

Ответы на вопрос(0)

Ваш ответ на вопрос