使用 CLion、CMake 和 VS2017 编译器编译 C++17
Compiling C++17 using CLion, CMake and the VS2017 compiler
创建新的 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)
相关文章:
- C++使用现代编译器编译的项目,但链接到过时的libstdc++
- 如何编译使用从不同编译器编译的库的应用程序?
- 使用Bison生成的编译器编译源代码
- 使用其他编译器编译QT代码
- 使用 Mac 终端编译器编译 c++14 代码
- 使用 CLion、CMake 和 VS2017 编译器编译 C++17
- 无法在 Windows 上使用英特尔编译器编译示例 boost::多精度
- C函数调用C 成员函数 - 其中C代码与C编译器编译
- 使用 Apple 的 LLVM 编译器编译 -O 时C++代码段错误,但不使用 g++ -7.2.0
- 使用Mac上的GCC编译器编译C SDL2程序
- 为什么这C++代码使用某些编译器编译,而不能使用其他编译器编译?
- 编译器编译也包括吗
- 如何在 Windows 命令提示符下使用 Dev C++ 编译器编译 c++ 程序
- 在cygwin中使用mingw编译器编译c ++程序时缺少dll。
- 用C++编译器编译C99文件
- 使用 mkoctfile 与 Octave 和 Visual Studio 2010 编译器编译 .mex 或 .oct
- 在使用 Visual Studio 2013 64 位编译器编译的 CMake 项目中使用 ttmath
- 使用英特尔编译器编译boost 1.57
- 在OS X Yosemite上使用gcc编译器编译OpenMP程序
- 查找库是由SJLJ还是DWARF2编译器编译的