Keil 5出现Error: L6218E: Undefined symbol解决方法

首先列出网上百度到比较好的blog:

blog1:https://blog.csdn.net/super_demo/article/details/32131379

总结了代码中可能因为几种初级或者粗心引起的错误。

blog2:https://blog.csdn.net/zhizuwei/article/details/86017618

总结了因为C和C++代码混合调用引起的未定义错误。

但是在排查时,以上两种方法都不行。首先,排除blog1里面出现的几类错误,其次,我发现在另外一个工程,使用同样的代码,同样的调用方式(但是工程使用的文件不一样),编译的时候没有错误。

最终采用一个简单粗暴的方法,删除原来的.c文件,重建一个同名.c文件,把原来文件的所有内容复制过来。

重新编译,问题解决(其实还是不知道怎么就好了)。

转载于:https://www.cnblogs.com/xbook-ben/p/11393973.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用[1]和引用的描述,"Error: L6218E: Undefined symbol Delay(unsigned) (referred from main.o)"是由于在编译时找不到名为Delay(unsigned)的符号导致的错误。这个错误通常发生在移植代码时,缺少了相关的函数定义或链接库。 解决这个错误的方法有以下几种: 1. 确保移植的代码中包含了Delay(unsigned)函数的定义或声明。检查移植的代码中是否有相关的函数定义或声明,如果没有,需要将该函数的定义或声明添加到代码中。 2. 检查编译器的链接设置。在Keil中,可以通过打开项目的选项对话框,然后选择“链接”选项卡来检查链接设置。确保链接设置中包含了Delay(unsigned)函数所在的库文件或对象文件。 3. 检查编译器的搜索路径。在Keil中,可以通过打开项目的选项对话框,然后选择“搜索路径”选项卡来检查搜索路径设置。确保搜索路径中包含了Delay(unsigned)函数所在的库文件或对象文件的路径。 4. 检查库文件是否正确引入。如果使用了外部库文件,需要确保库文件正确引入到项目中,并且链接设置中包含了库文件的路径。 5. 检查函数命名和参数是否正确。确保函数的命名和参数与调用该函数的地方一致,包括大小写和参数类型。 请注意,具体的解决方法可能因为你的具体情况而有所不同。建议你根据具体的错误信息和代码进行排查和调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值