MDK中undefined常见错误警告解决

  1. .c文件中包含.h文件
  2. 添加.h文件和.c文件路径
  3. 同名.h文件是否存在重复,加入#ifndef后不易找出该错误,一般在库搬移中会出现该错误,可以通过在工程文件下搜索该.h/.c文件查看是否有同名存在(这点很重要!有时候编译不过卡了半天就在这个点)
  4. 库函数不匹配,一般出现在库搬移,选择搬移时要选择同源库(版本一致也很重要!)
  5. extern的使用:只有全局变量需要在使用前extern声明,局部变量和static变量不能用extern,函数声明在.h文件中完成
  6. .\Obj\Template.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_hd.o).
    启动文件(startup_stm32f10x_hd.s)中有SystemInit函数的定义,但在编译时找不到(查看是否被注释或没有该函数)

PS: 1.编程时一步一编及时改错,不会到后面出现大量错误警告,系统模块化编程 2.凡是错误一定会有原因,冷静下来寻找而不是一直做重复的无用工作 3.仅本人学习中遇到的问题与解决,后续如有继续补充,作为个人学习经验的积累

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值