当同一工具集版本存在多个版本时如何设置默认 MSVC 编译器版本

har*_*ish 3 cmake visual-studio-2019

我使用 Visual Studio 构建工具安装了同一工具集 (v142) 的多个版本的 MSVC C++ 构建工具。如何设置 MSVC 编译器的默认或首选版本。是否有注册表或环境变量用于在 Windows 中或使用 Cmake 进行设置?

Cmake 选择最新版本,我希望它在某些构建中使用旧版本。CMake 似乎确实有一个用于工具集的 -T 参数,但在我的例子中,两个版本都适用于工具集 v142。

请注意,我没有或打算为此使用 Visual Studio IDE,因为我正在处理用于 CI 目的的命令行构建。

VS构建工具

zau*_*ufi 5

您可以通过CLI传递所需的版本:

$ cmake ... -T v142,version=14.24
Run Code Online (Sandbox Code Playgroud)

另请参见CMAKE_GENERATOR_TOOLSET变量。