keil3编译了一个文件,出现这个错误,找不到函数PLL_initial

[复制链接]
 楼主| ijkl 发表于 2008-1-12 16:05 | 显示全部楼层 |阅读模式
谢谢指点
02.axf: Error: L6218E: Undefined symbol PLL_initial (referred from 02.o).

02.c文件
#include<LPC213x.h>
#include"initial.h"
int  main(void)
    {
       int i=10;
          while(i--)
             {
                 PLL_initial();
                 SSPDR=0x89;
             }

   }

initial.h文件的内容
#ifndef __initial_h__
#define __initial_h__

extern void PLL_initial(void);

#endif


initial.c文件的内容
#include "Initial.h"
void PLL_initial(void)
{
I2C1DAT=0xef;
}
 楼主| ijkl 发表于 2008-1-12 19:59 | 显示全部楼层

感觉是文件包含的问题,希望大家能帮忙

computer00 发表于 2008-1-12 20:05 | 显示全部楼层

有没有将initial.c添加到工程中去啊

 楼主| ijkl 发表于 2008-1-12 20:09 | 显示全部楼层

好 是我自己手动把initial.c添加到工程

还是开发软件自己在当前文件夹搜索啊??
computer00 发表于 2008-1-12 20:13 | 显示全部楼层

要自己将这个文件添加到工程中去。

123654789 发表于 2008-1-12 20:16 | 显示全部楼层
123654789 发表于 2008-1-12 20:17 | 显示全部楼层

经过此地

 楼主| ijkl 发表于 2008-1-15 00:21 | 显示全部楼层

按照 computer00 的意思就是要把相应的 C文件手动添加到工程

编译软件才能找到程序
但是我有不明白的地方
以C51为例
我们可以写上#include<string.h>
就可以直接的调用memcpy()函数
也不用把其他什么的C文件添加到工程
也不用把lib文件添加到工程
软件照样可以找到程序

希望 computer00 能解答

我以前都是使用不标准的写法#include"initial.c"
现在我想改变下

computer00 发表于 2008-1-15 01:19 | 显示全部楼层

那些库文件是编译器做好了的,它知道去哪里搜索。

我们自己做的就不行了。
 楼主| ijkl 发表于 2008-1-15 01:28 | 显示全部楼层

哦明白谢谢computer00

您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

38

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部