RT-Thread Studio 编译 加入 #include "stm32f7xx_hal_def.h" stm32f7xx_hal.h
我也遇到同样的问题,已经解决了,就是有多个RTC需要使能HAL_RTC_MODULE_ENABLED
,全局搜索一下,会发现有/*#define HAL_RTC_MODULE_ENABLED*/
这样的地方,
去掉就ok了,亲测有效
我们知道在编译前,头文件是插入到C文件的,这个是在预编译阶段就完成了;
如果我们可以找到预编译处理之后的文件,就可以看到这个结构体到底有没有定义在本c文件,也就是能不能找到这个结构体就很容易看出来了。
在gcc命令行编译里面,有个选项是-save-temps=obj
加了这个选项之后,在编译输出每个.o文件的时候,也会有预编译的文件输出,
参考如下:
其中.i文件就是预编译处理的问题,.s文件就是汇编代码文件,.o文件就是常规的obj文件。
我绝对你排查的方法可以试着能不能得到这个.i文件,得到了这个文件,一切问题就好分析解决。
希望能帮到你。
去掉注释