簡體   English   中英

錯誤:無法在Windows 7x64上構建gem本機擴展

[英]ERROR: Failed to build gem native extension on windows 7x64

我一直在遵循開發套件為rubyinstaller提供的說明
https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

當我嘗試最后一步時,出現以下錯誤:
錯誤:無法構建gem本機擴展

這是日志文件。 http://pastebin.com/mLUCCVd3

我一直在跟蹤故障排除部分,但無濟於事。

運行Windows7x64這一切都開始了,因為我想讓appfog tunnel正常工作

任何幫助表示贊賞

我看到的東西表明32位和64位構建之間不匹配。

除了查看您的錯誤日志外,沒有做任何其他事情,我看到兩件事。

首先,“ c:/Ruby192/include/ruby-1.9.1/ruby/ruby.h:112:14:錯誤:數組'ruby_check_sizeof_voidp'的大小為負數”

第二,所有“警告:從不同大小的整數[-Wint-to-pointer-cast]轉換為指針”消息。

在第一種情況下,將32位無符號整數值0xFFFFFFFF標記為整數值-1; 在64位中,它仍然是0x00000000FFFFFFFF。 在第二種情況下,對於32位和64位窗口,sizeof(int)均為4。 在Win32中,sizeof(* T)為4,但在64位窗口中,sizeof(* T)為8,因此,在32位中,sizeof(int)== sizeof(* T),但在win64中則不是。

在構建腳本,命令行和預處理器定義中尋找矛盾的體系結構。

在您最初的嘗試中,您似乎正在使用ruby1.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的兼容性要比2.0的兼容得多。 1.8是1.9)。

在第二次嘗試中(在您對其他答案的評論中注意到),您切換到使用ruby 2.0,該寶石可能與idk完全不兼容,這是蠕蟲的全部來源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM