c++ - 如何将解决方案文件中的所有项目更改为 C++17 MSVC?

标签 c++ cmake visual-studio-2017

我正在使用 VS2017(版本 15.9.12)并使用 CMake 3.14 为 VS 编译器 Visual Studio 15 2017 生成了一个解决方案文件。 我想使用一些 C++17 特性。当我查看项目的属性页时,字段 C/C++->Language->C++ Language Standard 是空的。我可以在那里将其更改为/std:c++17(以及一些其他选项)。

由于代码是一个外部项目,我不想更改 CMake 文件来添加 CXX_Standard 17。

visual studio 是否为整个项目设置了带有 C++17 选项的编译器,还是我必须为每个子项目手动更改它?

最佳答案

看起来您必须为每个子项目更改此设置。或者只需运行 cmake -DCMAKE_CXX_STANDARD=17 -S/path/to/external/project -B bld (例如),CMake 将生成具有所需标准的项目(除非被 CMakeLists.txt 覆盖) .

关于c++ - 如何将解决方案文件中的所有项目更改为 C++17 MSVC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56323610/

相关文章:

cmake - 如何强制CMake链接到系统库而不是同名目标

iOS 部署失败,出现错误 "Selected device is not a physical device. Please select a valid device before deploying the application."

npm - 如何在没有 project.json 文件的 Visual Studio 2017 中使用 npm?

python - pybind11 python 2.7 和 3.6

c++ - 如何在JetBrains CLion中获得 `cmake`的工作来编译Emscripten/WebAssembly?

c++ - 无法从我的静态库 C++ VS 打开 boost header

c++ - 使用 std::cin.getline() 输入一个 char 数组,无法读取整数

c++ - 如何使用 CMake 3.15 查找和链接 CUDA 库?

c# - 如何从命令 Visual Studio Extension 2017 获取 IWpfTextView

c++ - C++17有没有像Fortran一样提供跨平台方案来记录编译器版本和选项?