WOBKEY Rainy75 Lite键盘QMK编译报错求助
问题:QMK编译WOBKEY Rainy75 Lite固件时汇编器错误
我正在为WOBKEY Rainy75 Lite键盘编写QMK固件,添加西班牙语带重音字符支持。该键盘支持QMK但无现成配置,我从零实现了keymap.c、keyboard.json、layout.h和config.h,但执行编译命令qmk compile -kb wobkey_rainy75 -km default时失败,报错显示汇编器试图编译C代码,具体错误如下:
Generating: .build/obj_wobkey_rainy75_default/src/info_config.h [OK] Generating: .build/obj_wobkey_rainy75_default/src/default_keyboard.h [OK] Assembling: platforms/avr/xprintf.S [ERRORS] | | C:/QMK_MSYS/mingw64/avr/include/stdint.h: Assembler messages: | C:/QMK_MSYS/mingw64/avr/include/stdint.h:125: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:126: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:127: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:128: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:129: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:130: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:132: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:133: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:146: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:151: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:163: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:168: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:173: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:178: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:183: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:188: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:196: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:203: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:217: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:222: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:227: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:232: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:237: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:242: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:250: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:257: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:277: Error: unknown opcode `typedef' | C:/QMK_MSYS/mingw64/avr/include/stdint.h:282: Error: unknown opcode `typedef' | platforms/timer.h:37: Error: unknown opcode `extern' | platforms/timer.h:39: Error: unknown opcode `void' | platforms/timer.h:40: Error: unknown opcode `void' | platforms/timer.h:41: Error: unknown opcode `void' | platforms/timer.h:42: Error: unknown opcode `void' | platforms/timer.h:43: Error: unknown opcode `uint16_t' | platforms/timer.h:44: Error: unknown opcode `uint32_t' | platforms/timer.h:45: Error: unknown opcode `uint16_t' | platforms/timer.h:46: Error: unknown opcode `uint32_t' | platforms/timer.h:56: Error: unknown opcode `typedef' | platforms/timer.h:57: Error: unknown opcode `fast_timer' | platforms/timer.h:58: Error: unknown opcode `return' | platforms/timer.h:59: Error: junk at end of line, first unrecognized character is `}' | platforms/timer.h:60: Error: unknown opcode `fast_timer' | platforms/timer.h:61: Error: unknown opcode `return' | platforms/timer.h:62: Error: junk at end of line, first unrecognized character is `}' | quantum/keyboard.h:30: Error: unknown opcode `typedef' | quantum/keyboard.h:31: Error: unknown opcode `uint8_t' | quantum/keyboard.h:32: Error: unknown opcode `uint8_t' | quantum/keyboard.h:33: Error: junk at end of line, first unrecognized character is `}' | quantum/keyboard.h:35: Error: unknown opcode `typedef' | quantum/keyboard.h:38: Error: unknown opcode `typedef' | quantum/keyboard.h:39: Error: unknown opcode `keypos_t' | quantum/keyboard.h:40: Error: unknown opcode `uint16_t' | quantum/keyboard.h:41: Error: unknown opcode `keyevent_t' | quantum/keyboard.h:42: Error: unknown opcode `_bool' | quantum/keyboard.h:43: Error: junk at end of line, first unrecognized character is `}' | quantum/keyboard.h:54: Error: unknown opcode `static' | quantum/keyboard.h:55: Error: unknown opcode `return' | quantum/keyboard.h:56: Error: junk at end of line, first unrecognized character is `}' | quantum/keyboard.h:57: Error: unknown opcode `static' | quantum/keyboard.h:58: Error: unknown opcode `return' | quantum/keyboard.h:59: Error: junk at end of line, first unrecognized character is `}' | quantum/keyboard.h:60: Error: unknown opcode `static' | quantum/keyboard.h:61: Error: unknown opcode `return' | quantum/keyboard.h:62: Error: junk at end of line, first unrecognized character is `}' | quantum/keyboard.h:63: Error: unknown opcode `static' | quantum/keyboard.h:64: Error: unknown opcode `return' | quantum/keyboard.h:65: Error: junk at end of line, first unrecognized character is `}' | quantum/keyboard.h:66: Error: unknown opcode `static' | quantum/keyboard.h:67: Error: unknown opcode `return' | quantum/keyboard.h:68: Error: junk at end of line, first unrecognized character is `}' | quantum/keyboard.h:69: Error: unknown opcode `static' | quantum/keyboard.h:70: Error: unknown opcode `return' | quantum/keyboard.h:71: Error: junk at end of line, first unrecognized character is `}' | quantum/keyboard.h:107: Error: unknown opcode `void' | quantum/keyboard.h:109: Error: unknown opcode `void' | quantum/keyboard.h:111: Error: unknown opcode `void' | quantum/keyboard.h:113: Error: unknown opcode `_bool' | quantum/keyboard.h:115: Error: unknown opcode `_bool' | quantum/keyboard.h:117: Error: unknown opcode `void' | quantum/keyboard.h:118: Error: unknown opcode `void' | quantum/keyboard.h:119: Error: unknown opcode `void' | quantum/keyboard.h:120: Error: unknown opcode `void' | quantum/keyboard.h:122: Error: unknown opcode `void' | quantum/keyboard.h:123: Error: unknown opcode `void' | quantum/keyboard.h:124: Error: unknown opcode `void' | quantum/keyboard.h:126: Error: unknown opcode `uint32_t' | quantum/keyboard.h:127: Error: unknown opcode `uint32_t' | quantum/keyboard.h:129: Error: unknown opcode `uint32_t' | quantum/keyboard.h:130: Error: unknown opcode `uint32_t' | quantum/keyboard.h:132: Error: unknown opcode `uint32_t' | quantum/keyboard.h:133: Error: unknown opcode `uint32_t' | quantum/keyboard.h:135: Error: unknown opcode `uint32_t' | quantum/keyboard.h:136: Error: unknown opcode `uint32_t' | quantum/keyboard.h:138: Error: unknown opcode `void' | quantum/keyboard.h:140: Error: unknown opcode `uint32_t' | quantum/keymap_common.h:10: Error: unknown opcode `uint16_t' | ./keyboards/wobkey_rainy75/keymaps/default/config.h:10: Error: unknown opcode `enum' | ./keyboards/wobkey_rainy75/keymaps/default/config.h:11: Error: unknown opcode `base_layer' | ./keyboards/wobkey_rainy75/keymaps/default/config.h:12: Error: unknown opcode `function_l' | ./keyboards/wobkey_rainy75/keymaps/default/config.h:13: Error: junk at end of line, first unrecognized character is `}' | make: *** [builddefs/common_rules.mk:361: .build/obj_wobkey_rainy75_default/platforms/avr/xprintf.o] Error 1
解决方案
这类错误核心是汇编器错误尝试编译C头文件,通常由键盘配置的编译规则或平台定义错误导致,可按以下步骤修复:
检查
keyboard.json平台配置
确认"processor"字段为正确的AVR型号(如atmega32u4),"platform"字段设置为"avr",错误的平台/处理器会触发错误的编译工具链调用。验证
rules.mk文件
若键盘目录无rules.mk,创建并添加基础规则:MCU = atmega32u4 BOOTLOADER = caterina # 补充键盘矩阵等必要配置确保未错误将C文件标记为汇编文件,或修改默认编译后缀规则。
检查自定义头文件引用
确认config.h和layout.h未被汇编上下文(如.S文件)错误引用,且keymap.c中的头文件引用无语法错误,避免预处理器异常。清理构建缓存
执行以下命令清除旧构建文件后重新编译:qmk clean qmk compile -kb wobkey_rainy75 -km default对比官方模板修正配置
找同平台(AVR)的官方QMK键盘配置(如planck),对比其keyboard.json、rules.mk和头文件结构,修正自身配置的差异。
内容的提问来源于stack exchange,提问作者Sam Kelemen
相关产品推荐
相关产品推荐

