记录一个keil MDK报错 xxx.axf: Error: L6218E: Undefined symbol xxx(reffered to xxx.o)

现象

报错工程

  • Undefined symbol xxx(reffered to xxx.o) 翻译过来是未定义的标识,这个错误常见于新人移植别人程序的时候,感觉都是一个芯片的例程,就可以直接扒过来,然后也没有红色波浪线提示错误,感觉就移植成功了,但是编译的时候,结果就提示了这些错误。

解决方案

  • 导致这个问题的原因是芯片的一些官方库文件没有添加到工程文件夹下,但是那些库函数的头文件却确实已经被添加到工程路径里去了,所以keil能找到这些函数就没爆红,但是等到编译链接的时候却连接不到这些函数了。
  • 只要找到错误提示里的c文件(看xxx.o,如上图bsp_usart.o就去找bsp_usart.c),找到里面没有被加入工程的头文件把他们都添加进来
    1.找到缺失的头文件在这里插入图片描述
    2.添加到对应文件夹分组下(按自己工程实际找对应的)
    在这里插入图片描述
    3.找到对应文件并添加在这里插入图片描述
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值