Chinaunix首页 | 论坛 | 博客
  • 博客访问: 430133
  • 博文数量: 61
  • 博客积分: 2286
  • 博客等级: 大尉
  • 技术积分: 550
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-27 22:04
文章分类

全部博文(61)

文章存档

2018年(2)

2017年(1)

2013年(2)

2012年(8)

2011年(6)

2010年(8)

2009年(13)

2008年(21)

我的朋友

分类: C/C++

2008-06-10 17:07:46

原在RH9中使用gcc-3.2.2对项目文件进行编译,成功编译。
移植至Ubuntu8.04中,使用gcc-4.2再次对文件进行编译,报错: 数组元素的类型不完全。
文件中的内容是:
203 extern struct message ospf_ism_state_msg[];
204 extern struct message ospf_nsm_state_msg[];
205 extern struct message ospf_lsa_type_msg[];
206 extern struct message ospf_link_state_id_type_msg[];
207 extern struct message ospf_redistributed_proto[];
208 extern struct message ospf_network_type_msg[];

仔细想过后,Ubuntu中,库都已经装好,报错看来必然是编译器版本升级,对文件的优化不同,故去查找关于gcc版本间区别,无果。
后来直接google错误:extern 数组元素的类型不完全。就搜到了下面这个网页,实验后,这个网页上所讲是正解。转过来以便自己和其他人学习。至于不同版本的gcc有什么区别,还有待进一步碰到问题,进一步解决问题。

原文地址:
http://blog.csdn.net/horsefaced/archive/2007/07/04/1678965.aspx  

原文内容:
编译c时出现数组元素的类型不完全错误     -|kevinfang 发表于 2006-4-17 16:20:00
 
文件代码如下:
......
extern struct _fstruct ps_fontinfo[];
......
struct _fstruct {
char *name; /* Postscript font name */
int xfontnum; /* template for locating X fonts */
};
......
用gcc4编译时出现数组元素的类型不完全错误,这是因为gcc4不允许类型在声明前使用。
因此调换次序就可以顺利通过。
......
struct _fstruct {
char *name; /* Postscript font name */
int xfontnum; /* template for locating X fonts */
};
......
extern struct _fstruct ps_fontinfo[];
......
 

发表于 @ 2007年07月04日 21:16:00|评论(0)|编辑



阅读(1387) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~