三国小兵 发表于 2014-7-24 20:37:44

51keil编译错误

51单片机KEIL编译错误*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:TIME_FLAG
    MODULE:.\list\main.obj (MAIN)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:TIME_FLAG
    MODULE:.\list\main.obj (MAIN)
    ADDRESS: 03F6H
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:TIME_FLAG
    MODULE:.\list\main.obj (MAIN)
    ADDRESS: 03F9H
*** WARNING L1: UNRESOLVED EXTERNAL SYMBOL
    SYMBOL:TIME_FLAG
    MODULE:.\list\interrupt.obj (INTERRUPT)
*** WARNING L2: REFERENCE MADE TO UNRESOLVED EXTERNAL
    SYMBOL:TIME_FLAG
    MODULE:.\list\interrupt.obj (INTERRUPT)
    ADDRESS: 079BH
Program Size: data=14.0 xdata=33 code=1954   FLAG_TIME是1毫秒中断标志位,check_time检测等待时间,都在头文件里定义了的,还是有警告extern bit Time_FLAG;       //10ms 时间标记extern bit Time_FLAG;       //10ms 时间标记
extern unsigned char aa;
//extern long temp2,temp;       //10ms 时间标记
extern unsigned char Check_time;          //检测时间

lcw_swust 发表于 2014-7-24 20:41:04

extern 只是声明,并未定义

三国小兵 发表于 2014-7-24 20:47:27

lcw_swust 发表于 2014-7-24 20:41
extern 只是声明,并未定义

好的啊,

三国小兵 发表于 2014-7-24 21:33:05

lcw_swust 发表于 2014-7-24 20:41
extern 只是声明,并未定义

申明过了,应该再定义一次吗,bit Time_FLAG;       //10ms 时间标记,unsigned char Check_time吗

lcw_swust 发表于 2014-7-24 21:35:52

三国小兵 发表于 2014-7-24 21:33
申明过了,应该再定义一次吗,bit Time_FLAG;       //10ms 时间标记,unsigned char Check_time吗 ...

申明和定义是不一样的,在哪定义的?

三国小兵 发表于 2014-7-24 21:40:46

lcw_swust 发表于 2014-7-24 21:35
申明和定义是不一样的,在哪定义的?

在头文件了定义的,

一匹狼 发表于 2014-7-24 22:31:58

变量的声明在头文件即.h文件,但变量的定义应在.c文件中,因此连接的时候没有找到该全局变量

三国小兵 发表于 2014-7-25 07:48:36

好的...........

Vampireyifeng 发表于 2014-7-26 14:06:13

建意楼主看看 c和 指针
页: [1]
查看完整版本: 51keil编译错误