错误:无法在windows 7x64上生成gem本机扩展

错误:无法在windows 7x64上生成gem本机扩展,windows,gem,appfog,Windows,Gem,Appfog,我一直在遵循rubyinstaller开发工具包提供的说明 当我尝试最后一步时,出现以下错误: 错误:无法生成gem本机扩展 这是日志文件。 我一直在关注这一部分,但毫无结果 运行windows7x64 这一切都开始了,因为我想让appfogtunnel工作 非常感谢您的帮助我看到一些情况表明32位和64位构建不匹配 除了查看错误日志之外,我什么都不做,我看到了两件事 首先,“c:/Ruby192/include/ruby-1.9.1/ruby/ruby.h:112:14:错误:数组'rub

我一直在遵循rubyinstaller开发工具包提供的说明

当我尝试最后一步时,出现以下错误:
错误:无法生成gem本机扩展

这是日志文件。

我一直在关注这一部分,但毫无结果

运行windows7x64 这一切都开始了,因为我想让appfog
tunnel
工作


非常感谢您的帮助

我看到一些情况表明32位和64位构建不匹配

除了查看错误日志之外,我什么都不做,我看到了两件事

首先,“c:/Ruby192/include/ruby-1.9.1/ruby/ruby.h:112:14:错误:数组'ruby\u check\u sizeof\u voidp'的大小为负”

第二,所有“警告:从不同大小的整数转换为指针[-Wint到指针转换]”消息

在第一种情况下,32位无符号int值0xFFFFFF是有符号int值-1;在64位中,它仍然是0x00000000FFFFFFFF。在第二种情况下,对于32位和64位窗口,sizeof(int)都是4;在win32中,sizeof(*T)是4,但在64位windows中,sizeof(*T)是8,因此,在32位中,sizeof(int)=sizeof(*T),但在win32中不是这样


在构建脚本、命令行和预处理器定义中寻找相互矛盾的体系结构。

在您最初的尝试中,看起来您使用的是ruby 1.9.x。我最近试图在1.9.3中安装json,但我遇到了一些与您相同的错误,特别是:

c:/Ruby192/include/ruby-1.9.1/ruby/missing.h:42:8: error: redefinition of 'struct timezone'
事实证明,这是因为我使用的是最新版本的devkit。。。您需要使用“旧”devkit,我相信它最近被重命名为“tdm”,它适用于1.9.x和1.8.7(我最初在信息页面上解释说,tdm是针对1.8.x的,因为浏览速度太快,并且在过去多次这样做,而且事实上,就语言本身而言,1.9与2.0的兼容性要比1.8与1.9的兼容性好得多)


在您的第二次尝试中(在您对另一个答案的评论中提到),您切换到使用ruby 2.0,您的gem可能与ruby 2.0完全不兼容,idk,这是一个完全不同的蠕虫罐。

因此,我返回并下载了ruby2.0 x64,然后再次完成此过程。这是抛出的新错误。