IAR:Error[Li005]:no definition for "Delayn"

IAR中出现Error[Li005]:no definition for "Delayn"的错误提示,网上查了一下,有的人说是版本低的问题,但自己试了一下,还是照样错,

最后经过比对发现包含void delayn(unsigned long n)声明的名称为uart.c的文件忘了添加了,如下图所示:




但为了防止别的朋友,用此法仍然不能解决问题,特把网上的一些解决方法写下:

类1: 这段时间我编译IAR for ARM工程的时候出现了上述标题出现的错误信息,截图如下:


出现上面错误的原因 是因为之前的工程是在较低版本下进行编译的,在高版本编译的时候,需要做一些修改,如下所示:


原来的是:
void __program_start(void);
修改成:
void __iar_program_start(void);
 
这样编译就没有问题了。

类2:今天在用IAR编译uCOS时,出现15个类似下面的错误,

Error[Li005]: no definition for "SysCtlClockSet" [referenced from E:\DEMO1\Object\debug\Obj\Target.o] 
Error[Li005]: no definition for "SysCtlClockSet" [referenced from E:\DEMO1\Object\debug\Obj\Target.o] 
Error[Li005]: no definition for "SysCtlClockGet" [referenced from E:\DEMO1\Object\debug\Obj\Target.o] 
Error[Li005]: no definition for "SysTickPeriodSet" [referenced from E:\DEMO1\Object\debug\Obj\Target.o] 
Error[Li005]: no definition for "SysTickEnable" [referenced from E:\DEMO1\Object\debug\Obj\Target.o] 
Error[Li005]: no definition for "SysTickIntEnable" [referenced from E:\DEMO1\Object\debug\Obj\Target.o] 

--------------------------------------------------
在网上找了半天,终于在周立功论坛上找到答案了。
周立功的工作人员回答:
您们好:
举个例子,错误如下:
Error[Li005]: no definition for "SysCtlClockSet" [referenced from E:\DEMO\Object\debug\Obj\Target.o]
该错误的的意思是说Target.c文件里面调用的SysCtlClockSet这个函数没有定义,而这个函数在sysctl.h里面有声明。这里出现该错误的原因有以下两个:
1、Target.c文件没有包含sysctl.h这个函数;
2、没有正确添加库文件,即diverlib.a文件,可去掉旧的(即工程里带的那个),然后重新添加。

  • 12
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值