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

如何为MSVS2019的CMake项目设置Target Platform Version与Platform Toolset

MSVC CMake项目平台版本与工具集配置方法

VS配置项与CMake参数的对应关系

普通VS项目中需要修改的两个配置项和CMake参数的对应关系如下:

  • Target Platform Version(目标平台版本):对应CMake内置变量 CMAKE_SYSTEM_VERSION
  • Platform Toolset(平台工具集):对应CMake内置变量 CMAKE_GENERATOR_TOOLSET,也可以在生成时通过-T参数直接指定

普通VS项目的设置项示意图如下:
设置项示意图

配置方式

方式1:在CMakeLists.txt中指定

需要注意变量声明必须放在project()指令之前才会生效,示例代码如下:

cmake_minimum_required(VERSION 3.15)

# 配置目标平台版本为8.1
set(CMAKE_SYSTEM_VERSION 8.1 CACHE STRING INTERNAL FORCE)
# 配置平台工具集为v140
set(CMAKE_GENERATOR_TOOLSET "v140" CACHE STRING INTERNAL FORCE)

# 声明项目
project(你的项目名称)

# 后续其他CMake逻辑

方式2:修改VS2019 CMake项目的CMakeSettings.json

如果你不想修改CMakeLists.txt,可以直接编辑VS自动生成的CMakeSettings.json配置文件,在对应配置项下指定工具集和平台版本参数即可,示例如下:

{
  "configurations": [
    {
      "name": "x64-Debug",
      "generator": "Visual Studio 16 2019",
      "configurationType": "Debug",
      "buildRoot": "${projectDir}\\out\\build\\${name}",
      "installRoot": "${projectDir}\\out\\install\\${name}",
      "cmakeCommandArgs": "",
      "buildCommandArgs": "",
      "ctestCommandArgs": "",
      "inheritEnvironments": [ "msvc_x64_x64" ],
      // 指定工具集为v140
      "toolset": "v140",
      "variables": [
        {
          "name": "CMAKE_SYSTEM_VERSION",
          "value": "8.1",
          "type": "STRING"
        }
      ]
    }
  ]
}

方式3:命令行生成时直接指定

如果你习惯用命令行生成VS解决方案,直接在cmake生成命令中携带对应参数即可:
cmake -G "Visual Studio 16 2019" -A x64 -T v140 -DCMAKE_SYSTEM_VERSION=8.1 你的CMakeLists.txt所在路径


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 23:36:07