打印
[AVR单片机]

GCC关键字extern

[复制链接]
819|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
heqinhan|  楼主 | 2014-11-19 09:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
 
        #include <avr/io.h>
   
       
        #include "Port_Define.h"  
    #include "EEPROM_Define.h"
       
        #include "Include.h"
        extern  void Uart_Inital();
       
           void   System_Inital()    //   初始化
                 {
                      Uart_Inital();  
在GCC里面这段代码编译出错,undefined reference to Uart_Inital。可是 Uart_Inital函数我在另一个文件已经定义了,为什么会出现这种错误呢?去掉关键字extern还是会出同样的错误

相关帖子

沙发
wangch_sh| | 2014-11-19 11:51 | 只看该作者
另一个文件对应的头文件添加了吗?

使用特权

评论回复
板凳
ayb_ice| | 2014-11-20 09:53 | 只看该作者
定义与声明不一致吧

使用特权

评论回复
地板
ningling_21| | 2014-11-20 11:06 | 只看该作者
Uart_Inital函数我在另一个文件已经定义

只定义是不行的,还要在头文件中声明

使用特权

评论回复
5
hillslb| | 2014-11-28 12:30 | 只看该作者
extern没有也没关系,
void Uart_Inital();
定义的时候这样写不行,要有函数原型,
void Uart_Inital()
{
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

27

帖子

0

粉丝