摘要:本文记录了在 STM32 项目中添加新驱动后遇到的编译和头文件问题。通过 CubeMX 添加驱动后,工程编译出错且 Eide 文件列表未刷新;重新导入工程解决了编译问题,但导致 VSCode 报头文件找不到错误。最终发现原因是重新导入会清空关键的 xxx.code-workspace 配置文件,将备份的配置重新粘贴后问题得以解决。

可以看到,目前我的工程是编译通过,并且没有抛出任何错误。此时,我们去查看 MDK-ARM 目录下文件,有一个 xxx.code-workspace重要)文件。这个里面是 Eide 的一些配置信息,先将这个文件的内容复制下来

原本的工程我没加 LPTIM1 这个定时器的驱动,现在我用 CubeMX 进行添加并创建

此时,可以看到工程编译出错,并且右侧驱动文件里没有 LPTIM 的驱动文件

解决办法是:Eide 重新导入一次工程,让文件列表刷新

重新导入后可以发现编译通过,并且右侧也刷新了驱动文件。但此时 VSCode 会报找不到头文件的错误

好家伙,找了半天才发现,重新导入工程后会把 xxx.code-workspace 文件清空

导入前无头文件报错、并且编译通过的:

新增驱动,重新导入后的:

所以,将原本的配置重新粘贴过来就能解决这个问题了。

可以看到,没有抛出 include 找不到的波浪错误了

更多推荐