使 Visual Studio 使用不同的次要版本工具集?

Make Visual Studio use different minor version Toolset?

"C:\Program Files (x86)\Microsoft Visual Studio19\Professional\VC\Tools\MSVC"下,我有不同的目录,例如:

但是,我注意到 Visual Studio 总是使用最新的次要版本。

Can I set it to use an older minor version of the toolset?

您可以在解决方案级别。正在关注 this guide

  1. 下载任何次要版本 need/want。
  2. 或者,转到您的项目属性并在 C/C++ → 命令行菜单项中添加 -Bv 作为“附加选项”。这将在构建时输出编译器版本。
  3. 转到 C:\Program Files (x86)\Microsoft Visual Studio19\<yourVisualStudioVersion>\VC\Auxiliary\Build 并找到您要使用的次要版本的 Build.x 文件夹并打开它。
  4. 复制 Microsoft.VCToolsVersion.X.Y.props 文件(其中 X 是主要版本,Y 是次要版本)
  5. 将文件粘贴到包含您的解决方案的解决方案文件的目录中。
  6. 在 Visual Studio 中,卸载您的项目。
  7. 编辑项目的 .vcxproj 文件并在 <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />.
  8. 行上方添加 <Import Project="$(SolutionDir)\Microsoft.VCToolsVersion.X.Y.props" />
  9. 重新加载您的项目,并执行测试构建。如果操作正确,它应该使用指定的次要版本,您可以在输出中看到:

这应该允许您针对主要版本工具集的特定次要版本进行构建。该指南还有一些其他方法,其中一种使用 CMake,配置后可能会更灵活。