keil 5 报错记录:..\OBJ\templiate.axf: Error: L6218E: Undefined symbol PcdHalt (referred from rc522.o).

keil 5 报错记录:…\OBJ\templiate.axf: Error: L6218E: Undefined symbol PcdHalt (referred from rc522.o).

先来百度翻一下:目标\模板.axf:错误:L6218E:未定义符号PcdHalt(来自rc522.o)。
忽略掉乱七八糟的东西,就是说这个函数未定义

.o文件是keil在编译.c文件时产生的中间文件,那个文件出问题了就找那个.c或.h文件就可以。
报错Undefined symbol 一般有四种情况:
1…c或.h文件没有被添加到工程中
2.函数没有声明或没有定义
3…c或.h文件路径有问题
4.c和c++混合编程

值得注意的是,这是个文件链接时发生的错误,在单个文件编译时不会报错。

在找解决这个问题的时候,很多人因为固件库出了问题,原因大部分是未添加进工程中。

在参考了很多人的经验后,其实问题很简单,这个问题只是这个函数没有被声明和定义(对我抄的),同样如果函数打错了也会出这个问题。

还有一类就是main.c文件或main函数没有写东西,这个也会报这种错。

这个问题比较好解决,如果不是因为文件忘记加进去了那就仔细看下是不是函数名字写错了或者没有声明或定义。

你可能感兴趣的:(报错记录,bug)