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

VSCode搭配CMakeTools在MSYS2 UCRT64环境构建C++项目时,CMake错误查找Ninja路径导致构建失败

VSCode搭配CMakeTools在MSYS2 UCRT64环境构建C++项目时,CMake错误查找Ninja路径导致构建失败

看起来你遇到的问题是CMakeTools默认去Mingw64目录找Ninja,但你明明是在UCRT64环境下安装的Ninja,路径不匹配导致报错。我给你几个靠谱的解决办法:

方法一:直接给CMakeTools指定正确的Ninja路径

这是最直接的办法,强制让CMake用UCRT64下的Ninja:

  • 打开VSCode,按下Ctrl+,打开设置面板
  • 在搜索框输入cmake Ninja Path,找到对应的设置项
  • 把路径改成C:/msys64/ucrt64/bin/ninja.exe
  • 或者你也可以直接在项目的.vscode/settings.json里手动添加配置:
    {
        "cmake.ninjaPath": "C:/msys64/ucrt64/bin/ninja.exe"
    }
    

保存后重新触发CMake配置,应该就能找到正确的Ninja了。

方法二:调整系统环境变量优先级

如果不想每个项目都单独配置,可以调整系统的PATH环境变量,让UCRT64的路径排在Mingw64前面:

  • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
  • 在系统变量的Path里,找到C:\msys64\ucrt64\bin,把它移到C:\msys64\mingw64\bin的上方
  • 点击确定保存后,一定要重启VSCode,让新的环境变量生效

方法三:从UCRT64终端启动VSCode

这个方法能让VSCode直接继承UCRT64的完整环境,避免路径混乱:

  • 打开MSYS2的UCRT64终端(就是你平时安装UCRT64包的那个终端)
  • 在终端里输入code命令,回车启动VSCode
  • 用这个方式打开的VSCode,CMake会自动使用UCRT64下的所有工具,包括Ninja、编译器这些

另外,先确认一下你的UCRT64环境里确实装了Ninja:在UCRT64终端里输入ninja --version,如果提示找不到命令,就用pacman -S ninja安装一下。

备注:内容来源于stack exchange,提问作者scarletLife

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 11:18:13