Win11下VSCode使用CMake时无法确定生成器的解决咨询
问题描述
在空文件夹通过快速启动命令创建新项目(仅含CMakeLists.txt和main.cpp),执行Configure、Edit Cache命令时出现以下错误:
[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.
已尝试操作:
- 重装GCC
- 安装MSYS2并通过Pacman安装GCC、g++和CMake
- 重置CMake Tools扩展
- 编辑系统PATH变量
- 将
cmake.cmakePath修改为Pacman安装路径(C:\msys64\mingw64\bin\cmake.exe)
可行解决方法
1. 安装并配置Ninja构建工具
- 打开MSYS2的MinGW64终端,执行
pacman -S ninja完成安装 - 确认
C:\msys64\mingw64\bin已添加到系统PATH的最优先级位置(避免其他路径的同名工具干扰) - 重启VS Code使PATH变更生效
2. 手动指定CMake生成器
在VS Code的settings.json中添加配置,直接指定生成器:
// 使用MinGW Makefiles "cmake.generator": "MinGW Makefiles" // 若已安装Ninja,可改为: // "cmake.generator": "Ninja"
3. 从MSYS2终端启动VS Code
通过MinGW64终端启动VS Code,让编辑器继承MSYS2的完整环境变量:
- 打开MSYS2 MinGW64终端
- 进入项目文件夹,执行
code .启动VS Code
4. 验证工具可访问性
在系统CMD或PowerShell中执行以下命令,确认工具能被正常调用:
ninja --version mingw32-make --version cmake --version
若某命令报错,说明对应工具未安装或PATH配置错误,需重新安装工具并调整PATH。
5. 手动配置CMake Kit
打开VS Code命令面板(Ctrl+Shift+P),执行CMake: Select a Kit选择对应MinGW64套件;若无可用套件,执行CMake: Scan for Kits重新扫描,或手动在settings.json中添加:
"cmake.kits": [ { "name": "MinGW64", "compilers": { "C": "C:/msys64/mingw64/bin/gcc.exe", "CXX": "C:/msys64/mingw64/bin/g++.exe" }, "cmakePath": "C:/msys64/mingw64/bin/cmake.exe" } ]
内容的提问来源于stack exchange,提问作者Matthew L
相关产品推荐
相关产品推荐

