【ARM】MDK-Error: L6218E:Undefined symbol

1、 文档目标

解决 编译时报错 Error: L6218E: Undefined symbol main (referred from _rtentry2.o)

2、 问题场景

在 MDK 进行项目编译的时报错

.ObjectsSTM32F476_LED.axf: Error: L6218E: Undefined symbol main (referred from __rtentry2.o).

3、软硬件环境

1 软件版本:Keil MDK 5.38a

2 电脑环境:Window 10

4、解决方法

1 出现以下问题。

.ObjectsSTM32F476_LED.axf: Error: L6218E: Undefined symbol main (referred from __rtentry2.o).

或者

.ObjectsSTM32F476_LED.axf:Error: L6218E: Undefined symbol main (referred from entry9a.o)

2 显然,main()函数在您的项目中没有找到。

有可能的错误是:

1)main 拼写错误;因为打字过快将“main”错打成了“mian”,造成了错误。

Error: L6218E: Undefined symbol main (referred from rtentry2.o). - Keil forum - Support forums - Arm Community

2)还有可能是没有添加main文件,有可能 main.c 文件和其他文件不在一个文件夹下添加时有遗漏;

3)启动文件不符合编译器要求,找不到 main 函数。

3 通过以上步骤可以正常编译了。