如何解决 Windows 11 下 QMK 固件编译失败:WMIC 缺失问题快速完整指南
2026/9/7 4:41:04 网站建设 项目流程

如何解决 Windows 11 下 QMK 固件编译失败:WMIC 缺失问题快速完整指南

【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware

TL;DR 速览

在 Windows 11 上编译QMK 固件(qmk_firmware,一个开源键盘固件项目)时,你可能因为WMIC 缺失而构建失败。解决它有两条路:把系统组件装回来,或者改构建脚本去掉依赖。建议先走路线①——一条命令加一次重启,马上能通。

10 秒自检:是不是 wmic 报错把你卡住了?

make编译时,如果终端吐出了下面这行:

'wmic' 不是内部或外部命令,也不是可运行的程序或批处理文件。

那基本就是它了。这个报错和你的键盘型号、编译工具链都没关系,纯粹是系统缺了工具。可以直接跳到下面任一路线。

一分钟背景:为什么 QMK 编译会用到 wmic

WMIC 是 Windows 的老牌系统信息查询工具,微软在新版 Windows 11 里把它移除了。QMK 这边,构建脚本在 Makefile 里用wmic查询键盘设备信息,工具一消失,make 拿不到查询结果,直接中断。你的代码没问题,环境也没问题,只是系统悄悄收走了一个零件。

路线①:三步恢复 WMIC 组件(推荐)

  1. 以管理员身份打开 PowerShell(Win + X,选“终端(管理员)”)。

  2. 执行下面命令,启用 WMIC 组件:

    dism /online /enable-feature /featurename:WMIC
  3. 重启系统。

  4. 验证是否装好,能打印出系统名就齐活了:

    wmic os get caption

路线②:替换 Makefile 里的 wmic 为 PowerShell(长期方案)🔧

打开项目根目录的 Makefile,找到含WMIC的代码块,按下面改:

# 改动前 WMIC_OUTPUT := $(shell wmic path win32_pnpentity get caption | findstr /i "keyboard") # 改动后 WMIC_OUTPUT := $(shell powershell -Command "Get-CimInstance -ClassName Win32_PnPEntity | Where-Object Caption -Match 'keyboard' | Select-Object -ExpandProperty Caption")

为什么这条更稳:PowerShell 是 Windows 11 的第一公民,不在任何移除清单上,系统下次升级也不会再让你踩一次同一个坑。

验证清单

  • 执行make clean,清掉构建缓存
  • 重新编译示例固件:make planck/rev6:default
  • 确认.build目录里出现了新的固件文件

资源索引与后续

  • 快速上手指南:第一次编译 QMK 固件的路径与前置准备
  • 构建问题排查 FAQ:遇到其它 make 报错时先翻这里
  • QMK CLI 命令手册:常用构建命令语法速查
  • 破坏性变更记录:跟进各版本对系统要求的变动

QMK 团队正在逐步用 PowerShell 命令替换构建流程里剩下的 wmic 调用,你保持git pull origin master同步最新代码,这个问题迟早会自己消失。

【免费下载链接】qmk_firmwareOpen-source keyboard firmware for Atmel AVR and Arm USB families项目地址: https://gitcode.com/GitHub_Trending/qm/qmk_firmware

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询