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

How to change all projects in a solution file to C++17 MSVC?

我正在使用 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 覆盖)。