[AVR单片机] GCC关键字extern

[复制链接]
1190|5
 楼主| heqinhan 发表于 2014-11-19 09:20 | 显示全部楼层 |阅读模式

  1.         #include <avr/io.h>
  2.    
  3.        
  4.         #include "Port_Define.h"  
  5.     #include "EEPROM_Define.h"
  6.        
  7.         #include "Include.h"
  8.         extern  void Uart_Inital();
  9.        
  10.            void   System_Inital()    //   初始化
  11.                  {
  12.                       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函数我在另一个文件已经定义

只定义是不行的,还要在头文件中声明
hillslb 发表于 2014-11-28 12:30 | 显示全部楼层
extern没有也没关系,
void Uart_Inital();
定义的时候这样写不行,要有函数原型,
void Uart_Inital()
{
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

27

帖子

0

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