今天分享一个之前遇到的让我头疼了一个下午的问题,就是因为我把一个头文件添加进工程之后就开始各种报错。
因为之前不知道为什么我的keil可能安装了一个新的,所以之前工程的头文件路径变了,然后编译就开始报错,错误信息为:
gd32f20x_libopt.h(43): error: #5: cannot open source input file "RTE_Components.h": No such file or directory
然后我就把RTE_Components.h头文件路径添加进工程,结果再编译就提示我下述各种错误:
什么USART0没有定义啊,但是这个系统变量不是已经在系统文件定义了嘛
Handware\Usart2.c(100): error: #20: identifier "USART0" is undefined
还有什么各种源文件信息不能浏览之类的错误提示:
Browse information of one or more files is not available:
.\Handware\Usart.c
.\CMSIS\GD\GD32F20x\Source\system_gd32f20x.c
后来才发现原因就是我把这个RTE_Components.h文件路径添加到了工程造成的,而之前提示我缺少该文件的也是系统,而提示RTE_Components.h的原因是我把关于cm3的一些头文件路径没有添加到路径造成的,而出现各种错误就是因为添加了该RTE_Components.h头文件造成的,其头文件代码如下:也就是用宏定义了gd32f20x.h文件而已。
#ifndef RTE_COMPONENTS_H
#define RTE_COMPONENTS_H
/*
* Define the Device Header File:
*/
#define CMSIS_device_header "gd32f20x.h"
#endif /* RTE_COMPONENTS_H */
所以如果有小伙伴也遇到上述这些错误,或许可以参考一下本人的经验,将RTE_Components.h头文件删除即可~
本人水平有限,上述信息仅供学习参考,如有错误和不妥之处,请多多指教。
另外创作不易,请勿抄袭,如果有帮助到大家的话希望大家可以点个赞和收藏,谢谢~