编译错误:XXX.axf: Error: L6218E: Undefined symbol xxx (referred from xxxx.o).
2017-12-20 21:20:03 Undefined variable 阅读数 6989更多
分类专栏: 暴走的STM32
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/santa9527/article/details/78857765
#XXX.axf: Error: L6218E: Undefined symbol xxx (referred from xxxx.o).
例如 MDK 报错:
stm32f103.axf: Error: L6218E: Undefined symbol Time1_8_Init (referred from led.o).
分析:Undefined symbol Time1_8_Init,翻译过来就是:Time1_8_Init 这个符号没有被定义,小括号中的内容告诉你,是在 led.o 这个文件里面被提调用的,这个.o文件在工程里面是没有的,它是在编译过程中由.c文件生成的。所以我们只需要找到工程里面的.c文件即可,这里对应这个名字的就是 led.c 了。
问题根源:
led.c文件中调用了Time1_8_Init没有定义。
解决办法:
(1)在外部.c文件中定义Time1_8_Init;
(2) 把ht128x64.c文件中关于EnZK的部分注释掉。