在现有 Makefile 项目上生成代码时,任何现有 C_DEFS 都已损坏
- C_DEFS =
- -DUSE_HAL_DRIVER
- -DSTM32F301x8
成为
- -DC_DEFS = USE_HAL_DRIVER
- -DSTM32F301x8
因此 C_DEFS 的定义丢失,并且悬空定义导致随机错误。
这是 5.6.1 版的问题,但长期以来(至少一年)一直是个问题。
我还在 Makefile 上看到了其他奇怪的行为——比如每次生成代码时都会重复“#compile gcc flags”——一个 makefile 现在在一行中有 15 次字符串!!
另一个是 -isystem 用于系统包含文件路径,CubemX 坚持在它前面加上 -I 所以它失败了 -Iisystem ..