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

Visual Studio 2022 CMake项目环境变量缺失致编译失败求助

解决Visual Studio 2022 CMake项目缺失Windows SDK环境变量的配置位置

1. Visual Studio内置CMake的项目级配置文件

  • 打开项目后,右键项目根目录选择「CMake Settings for [项目名]」,在弹出的配置界面中切换到「环境变量」选项卡,直接添加指向Windows SDK的INCLUDE、LIB变量:
    • INCLUDE示例:C:\Program Files (x86)\Windows Kits\10\Include\[你的SDK版本]\um;C:\Program Files (x86)\Windows Kits\10\Include\[你的SDK版本]\ucrt
    • LIB示例:C:\Program Files (x86)\Windows Kits\10\Lib\[你的SDK版本]\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\[你的SDK版本]\ucrt\x64
      保存后,CMake构建该项目时会优先使用这里的环境变量。

2. VS开发者命令提示符的专属配置

  • 找到VS安装目录下的Common7\Tools\VsDevCmd.bat,在文件末尾添加自定义环境变量设置:
    set INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt;%INCLUDE%
    set LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\ucrt\x64;%LIB%
    
    替换成你实际安装的SDK版本号后,每次通过VS开发者命令提示符启动VS或执行CMake命令时,都会加载这些变量。

3. CMake全局用户配置文件

  • 编辑用户目录下的C:\Users\[你的用户名]\CMake\CMakeLists.txt,添加以下内容:
    set(ENV{INCLUDE} "C:/Program Files (x86)/Windows Kits/10/Include/[你的SDK版本]/um;C:/Program Files (x86)/Windows Kits/10/Include/[你的SDK版本]/ucrt;$ENV{INCLUDE}")
    set(ENV{LIB} "C:/Program Files (x86)/Windows Kits/10/Lib/[你的SDK版本]/um/x64;C:/Program Files (x86)/Windows Kits/10/Lib/[你的SDK版本]/ucrt/x64;$ENV{LIB}")
    
    该配置对当前用户的所有CMake项目生效,且不会修改系统级环境变量。

额外排查建议

  • 先通过VS安装器检查「单个组件」中的「Windows SDK」是否已正确安装对应版本,若未安装则补充安装;
  • 也可在VS的「工具」->「选项」->「项目和解决方案」->「VC++目录」中手动添加SDK的包含目录和库目录,此设置为VS全局生效,仅作用于IDE内的项目。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 21:12:37