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文件,可去掉旧的(即工程里带的那个),然后重新添加。

你可能感兴趣的:(ARM嵌入式,object,工作)