1

当我尝试使用命令安装 gem date-performancegem install date-performance时,我收到此错误:

date_performance.c:16:14: erro: static declaration of ‘rb_cRational’ follows non-static declaration
...
date_performance.c:365:3: aviso: ISO C90 forbids mixed declarations and code [-pedantic]
make: ** [date_performance.o] Erro 1

如何解决?

更新:

SO是Ubuntu,我使用ruby 1.9

遵循完整的错误:

/home/vmlellis/.rvm/rubies/ruby-1.9.3-p392/bin/ruby extconf.rb
creating Makefile

make
compiling date_performance.c
date_performance.c:16:14: erro: static declaration of ‘rb_cRational’ follows non-static declaration
In file included from /home/vmlellis/.rvm/rubies/ruby-1.9.3-p392/include/ruby-1.9.1/ruby.h:32:0,
                 from date_performance.c:9:
/home/vmlellis/.rvm/rubies/ruby-1.9.3-p392/include/ruby-1.9.1/ruby/ruby.h:1271:19: nota: previous declaration of ‘rb_cRational’ was here
date_performance.c: Na função ‘rb_date_new’:
date_performance.c:200:5: aviso: ISO C90 forbids mixed declarations and code [-pedantic]
date_performance.c:219:3: aviso: ISO C90 forbids mixed declarations and code [-pedantic]
date_performance.c: Na função ‘rb_date_strftime’:
date_performance.c:253:31: erro: ‘struct RString’ has no member named ‘ptr’
date_performance.c:254:29: erro: ‘struct RArray’ has no member named ‘ptr’
date_performance.c:268:30: erro: ‘struct RString’ has no member named ‘ptr’
date_performance.c:269:17: erro: ‘struct RString’ has no member named ‘len’
date_performance.c:277:30: erro: ‘struct RString’ has no member named ‘ptr’
date_performance.c:279:5: aviso: implicit declaration of function ‘bzero’ [-Wimplicit-function-declaration]
date_performance.c:279:5: aviso: incompatible implicit declaration of built-in function ‘bzero’ [habilitado por padrão]
date_performance.c:284:23: erro: ‘struct RString’ has no member named ‘len’
date_performance.c: Na função ‘rb_date_strptime’:
date_performance.c:304:27: erro: ‘struct RString’ has no member named ‘ptr’
date_performance.c:305:27: erro: ‘struct RString’ has no member named ‘ptr’
date_performance.c:329:3: aviso: implicit declaration of function ‘strptime’ [-Wimplicit-function-declaration]
date_performance.c: Na função ‘rb_date_compare’:
date_performance.c:350:3: aviso: ISO C90 forbids mixed declarations and code [-pedantic]
date_performance.c:353:5: aviso: comentários usando o estilo do C++ não são permitidos na ISO C90 [habilitado por padrão]
date_performance.c:353:5: aviso: (isso será relatado apenas uma vez por aquivo de entrada) [habilitado por padrão]
date_performance.c:365:3: aviso: ISO C90 forbids mixed declarations and code [-pedantic]
make: ** [date_performance.o] Erro 1
4

1 回答 1

1

这个 gem 是针对 Ruby 1.8 的:

这个包使用不同技术的组合为 Ruby 1.8 的核心 Date 类增加了一些性能

它可能在 Ruby 1.9+ 中中断(Ruby 不以其向前兼容性而闻名..),在 GitHub 项目页面上,您可以看到它在过去 4 年中没有更新。

它不适用于您的 Ruby 1.9 Ubuntu 安装。

于 2013-05-17T17:56:58.240 回答