1.初级错误
(1)C中未定义
(2)H中未引用
(3)未包含含有该类型的.H文件
(4)在keil中未添加.C或.H文件到工程
2.C和C++代码混合调用引起的未定义错误
1.一般情况下,Error: L6218E: Undefined symbol 若是由于未定义引起的错误,可以根据错误提示定位到相应的问题行,然后将相应的函数进行定义即可,网上大多也都是针对这种情况下的未定义错误进行解答;
2.如未将.c/.cpp源文件添加到工程中,也会出现此错误;
3.若工程中已经添加了源文件,也包含了相应的头文件,依然出现错误 Error: L6218E: Undefined symbol ,则检查是否是由于在Keil中混用C和c++引起的。这种情况下,除了像上述那样在源文件中包含头文件外,还可以在头文件中使用
#ifdef __cplusplus
extern “C” {
#endif
void xxxxx(xxx)
#ifdef __cplusplus
}
#endif
这样的条件编译,在源文件中直接使用#include ""包含头文件亦可。