ubuntu 9.04下面安装simplescalar出现的make问题(函数声明问题)

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
datou2393567
帖子: 2
注册时间: 2010-03-06 15:02

ubuntu 9.04下面安装simplescalar出现的make问题(函数声明问题)

#1

帖子 datou2393567 » 2010-03-06 15:14

第五个错误:
ldmisc.c: 在函数‘info_msg’中:
ldmisc.c:344: 错误: expected declaration specifiers before ‘va_dcl’
ldmisc.c:348:15: 错误: 宏“va_start”需要 2 个参数,但只给出了 1 个
ldmisc.c:357: 错误: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘va_dcl’

解决:
这是因为在stdarg.h里已经不再支持 va_dcl,所以编译无法通过。经过观察发现使用va_dcl的地方都是用来打印消息的(实际上varargs.h与stdarg.h都是为了用来支持可变参数函数的。如printf, 一般printf的声明可以为 printf( const char*fmt, …), 用“…”表示可变参数, 也可以使用 printf( const char* fmt, va_list ap)来表示,还有第三种就是 printf( va_list ) va_dcl。但是第三种方式在GCC-3.4.3里并不支持。)所以有两种方法来解决这个问题,一是将所以第三种声明改为第二种声明,这个方法比较慢。二是将第三种声明的函数以以下方式注释掉(因为它们只是打印一些信息,并不影响功能,所以可以不需要这些函数功能)。

上面这一段是我在网上找到的教程,我也遇到了相同的问题,但是教程里面缺了一部分,不知道如何将第三种声明改为第二种声明,或者如何将第三种声明的函数注释掉。求指教!
附件
这个是用QQ截的ubuntu下面安装提示的错误
这个是用QQ截的ubuntu下面安装提示的错误
GS09062024
帖子: 1
注册时间: 2010-04-14 14:04

Re: ubuntu 9.04下面安装simplescalar出现的make问题(函数声明问题)

#2

帖子 GS09062024 » 2010-04-14 14:09

我也遇到这个问题,不知道你解决了没有,如果可以我们QQ:247393250探讨下。呵呵~~
头像
速腾1994
论坛版主
帖子: 17379
注册时间: 2008-11-01 20:43
系统: Arch+gnome

Re: ubuntu 9.04下面安装simplescalar出现的make问题(函数声明问题)

#3

帖子 速腾1994 » 2010-04-15 0:14

:em09
回复