使用 CLion、CMake 和 VS2017 编译器编译 C++17

Compiling C++17 using CLion, CMake and the VS2017 compiler

本文关键字:编译器 编译 C++17 VS2017 CLion CMake 使用      更新时间:2023-10-16

创建新的 CLion 项目并选择 C++17 语言标准时,C++17 代码将无法编译。 初始 CMakeLists.txt 文件如下所示:

cmake_minimum_required(VERSION 3.8)
project(optional2)
set(CMAKE_CXX_STANDARD 17)
set(SOURCE_FILES main.cpp)
add_executable(optional2 ${SOURCE_FILES})

为了编译 C++17 代码,我必须将以下行添加到 CMakeLists.txt 文件中:

add_compile_options(/std:c++latest)

这是在CMAKE/CLion中添加此编译选项的正确方法(和/或唯一方法(吗?

正在使用C++编译器是运行CLion 2017.2的Windows 10工作站上的vs2017 cl.exe带有nmake.exe。

CMAKE_CXX_STANDARD变量用于初始化CXX_STANDARD属性。

从属性文档中:

对于没有标准级别概念的编译器,例如 MSVC, 这没有效果。

对于具有纯 CMake 的 Visual Studio 2017,C++17(默认值为 C++14(的规范方式为:

target_compile_options(optional2 PRIVATE /std:c++latest)