解决Error: L6218E: Undefined symbol xxxx (referred from xxx.o)

**我的背景:**想把人家写好的两个工程合在一起,结果在将一个工程里面的函数复制到另外一个工程里面的时候提示:
解决Error: L6218E: Undefined symbol xxxx (referred from xxx.o)_第1张图片
问题解释:Undefined symbol:未经过定义的符号;
xxx.o:编译生成的中间文件,来自对应的xxx.c文件;
我的失败解决方法:
1.在“魔法棒”中在这里插入图片描述
c/c++中define配置 USE_STDPERIPH_DRIVER,
一、xxx.o对应的xxx.c文件里面使用了没有定义的xxxx(Undefined symbol xxxx),需要你在合适的地 方定义或者删除。
二、在xxx.h文件中没有申明该符号xxxx;
三、在xxx.c/h文件中未引用定义该符号xxxx的.H文件;
四、该符号xxxx已经定义过了,并且也正常引用了,但是在你的MDK工程里面没有把定义该符号的.c文件加载进来,
其它博主的解决方法都用了,都没成,包括还有那个C++文件引用C文件要
extern“C”
{
#include “XXX.h”
}
可是我定义在sys.h中,我也引用了sys.h了,还是不能用…………在这里插入图片描述
在这里插入图片描述

我的解决:上面都没有成功,我就在主函数里面又定义了一下,就好使了……在这里插入图片描述
解决Error: L6218E: Undefined symbol xxxx (referred from xxx.o)_第2张图片
我就是个憨憨,复制粘贴一时爽,一直粘贴真不爽……

你可能感兴趣的:(单片机学习之路,单片机,stm,keil,mdk)