Error: L6200E: Symbol rr multiply defined (by led.o and main.o).
首先,不应该在“led.h”中定义“led.c”中使用的变量,应该直接在“led.c”中定义所需的变量,例如 i16 rr;然后再主程序"main.c"中将所调用“led.c”中的变量定义为 extern,例如 extern i16 rr;因为在“led.h”中定义了许多变量,“led.c”文件中采用#include “led.h”,调用“led.h”中的变量;在主函数"main.c"中也采用#i
·
原因:因为在“led.h”中定义了许多变量,“led.c”文件中采用#include “led.h”,调用“led.h”中的变量;在主函数"main.c"中也采用#include “led.h”,调用“led.h”中的变量,导致“led.h”中的变量被重复定义。
解决方法:首先,不应该在“led.h”中定义“led.c”中使用的变量,应该直接在“led.c”中定义所需的变量,例如 i16 rr;。然后再主程序"main.c"中将所调用“led.c”中的变量定义为 extern,例如 extern i16 rr;,问题得到解决。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)