You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Conan2+CMake+Ninja构建中指定固定MSVC工具集版本14.40.33807

配置Conan2 + CMake固定使用指定MSVC工具集

要在多MSVC工具集环境下强制使用VCToolsVersion 14.40.33807构建,需要同时在Conan和CMake层面做配置,确保两者工具集版本一致。

Conan 端配置

Conan通过settings指定MSVC版本,注意compiler.version对应关系:MSVC 14.40对应的编译器版本号是19.40(MSVC版本号规则:14.x → 19.x)。

方式1:临时命令行指定

执行conan install时直接传入settings参数:

conan install . --settings=compiler=msvc --settings=compiler.version=19.40 --settings=compiler.cppstd=17 --settings=build_type=Release

方式2:持久化Profile配置

创建自定义Profile文件(比如命名为msvc_1440.profile),内容如下:

[settings]
compiler=msvc
compiler.version=19.40
compiler.cppstd=17
compiler.runtime=dynamic  # 根据项目需求选择static或dynamic
build_type=Release

后续安装依赖时直接指定该Profile:

conan install . --profile=msvc_1440.profile

CMake 端配置

CMake需要强制指定工具集版本,避免自动选择系统中其他可用的工具集。

方式1:在CMakeLists.txt中硬编码

在project()命令之前添加以下配置:

# 强制指定VCToolsVersion
set(CMAKE_GENERATOR_TOOLSET "v143,version=14.40.33807" CACHE STRING "MSVC toolset version" FORCE)

# 可选:指定Windows SDK版本(如果需要固定SDK)
# set(CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION "10.0.22621.0" CACHE STRING "Windows SDK version" FORCE)

project(YourProjectName LANGUAGES CXX)

注:v143是Visual Studio 2022对应的工具集前缀,若使用其他VS版本需调整(比如VS2019对应v142)。

方式2:CMake命令行参数指定

执行CMake配置时直接传入工具集参数:

cmake .. -G "Visual Studio 17 2022" -T v143,version=14.40.33807 -DCMAKE_BUILD_TYPE=Release

验证工具集版本

构建完成后,可通过以下方式确认:

  • 打开生成的VS项目,查看项目属性→常规→平台工具集,应显示v143 (14.40.33807)
  • 查看CMake配置日志,会输出当前使用的工具集版本信息

内容的提问来源于stack exchange,提问作者SparcU

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 10:25:07