VS Code配置CMake遇生成器错误:无法找到Ninja/Make
解决VS Code中CMake无法找到Ninja生成器的问题
问题现象
VS Code配置CMake时出现以下错误:
[proc] Executing command: C:\msys64\ucrt64\bin\gcc.exe -v [proc] The command: ninja --version failed with error: Error: spawn ninja ENOENT [proc] The command: ninja-build --version failed with error: Error: spawn ninja-build ENOENT [proc] The command: make --version failed with error: Error: spawn make ENOENT [main] Unable to determine what CMake generator to use. Please install or configure a preferred generator, or update settings.json, your Kit configuration or PATH variable. Error: No usable generator found.
但在命令提示符中,cmake和ninja均可正常运行:
C:\Users\JCG9900\Desktop>cmake --version cmake version 3.26.1 CMake suite maintained and supported by Kitware (kitware.com/cmake).
C:\Users\JCG9900\Desktop>ninja --version 1.11.1
解决思路
验证VS Code的PATH环境变量
打开VS Code内置终端,执行echo %PATH%,对比命令提示符中输出的PATH,确认ninja所在目录是否包含在VS Code的PATH中。如果缺失:- 手动将ninja安装目录添加到系统PATH;
- 关闭VS Code,从已加载完整PATH的命令提示符中执行
code命令重启VS Code,确保继承正确环境变量。
手动指定生成器及路径
在VS Code的settings.json中直接配置CMake生成器和ninja路径:"cmake.generator": "Ninja", "cmake.ninjaPath": "你的ninja.exe完整路径,比如C:\\tools\\ninja\\ninja.exe"或者通过CMake Kits自定义配置,在
.vscode/cmake-kits.json中添加:[ { "name": "自定义GCC+Ninja套件", "compilers": { "C": "C:\\msys64\\ucrt64\\bin\\gcc.exe", "CXX": "C:\\msys64\\ucrt64\\bin\\g++.exe" }, "generator": "Ninja", "ninjaPath": "你的ninja.exe完整路径" } ]配置完成后重新加载CMake项目。
排查插件版本问题
尝试更新VS Code的CMake Tools插件到最新版本,若更新后问题依旧,可回退到之前的稳定版本测试。检查路径合法性
确保ninja的安装路径中没有空格、中文或其他特殊字符,这类字符可能导致进程无法正确定位程序。建议将ninja移动到路径简洁的目录(如C:\tools\ninja),并更新PATH。
内容的提问来源于stack exchange,提问作者cobdmg
相关产品推荐
相关产品推荐

