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 ""包含头文件亦可。
在这里插入图片描述

3.删除原来的.c文件,重建一个同名.c文件,把原来文件的所有内容复制过来。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐