2008-10-03 77 views
5

嘗試更新Windows機器上的一些寶石和我不斷地得到這個錯誤輸出沒有預編譯的二進制文件寶石:如何在Windows上進行Ruby Gems安裝使用MinGW進行製作和編譯?

提供的配置選項: --with-OPT-DIR --without- opt-dir --with-opt-include --without-opt-include = $ {opt-dir}/include --with-opt-lib --without-opt-lib = $ {opt-dir }/lib --with-make-prog --srcdir =。 --curdir --ruby = c:/ server/ruby​​/bin/ruby​​

這些是在安裝gem時提供給extconf.rb ruby​​文件的配置選項。

我已經安裝了MinGW,所以我應該擁有我需要安裝,編譯和編譯這些寶石的所有東西。但是,我不知道如何更改RubyGems的配置,以便在調用extconf.rb時包含指向MinGW include目錄的相應選項。

回答

3

有一個DevKit這可能是你以後的事情。

+0

謝謝 - 我沒有意識到,直到閱讀這個寶石需要使用與Ruby語言本身相同的編譯器進行編譯。既然如此,我已經走了另一條路 - 我已經安裝了VC6,並在頭文件中添加了一小段代碼,所有工作都很好。謝謝。 – Yardboy 2008-10-13 21:00:02

1

我不知道這是否適用於本機Windows Ruby,但是如果您使用Cygwin版本並且安裝了完整的Cygwin(編譯器等),那麼您不應該有任何問題 - 我們已經能夠使用大量需要編譯的東西的寶石。

-1

總的來說,根據我的經驗,爲unix系統設計的代碼很難在MinGW上工作。對於快速端口,請使用CygWin。或者將軟件的完整端口轉移到Windows主機上,包括使用本地windows shell和OS API--這在時間上相當昂貴,但如果您計劃長期支持Windows,則付出代價。

不熟悉這個特定的軟件包,這只是試圖將一些其他卑劣的代碼移植到Windows的一般觀察。

0

我只是有同樣的問題。

我發現獲取沒有預編譯的二進制文件(如parsetree)的gem在windows上運行的唯一方法是使用Mingw重新編譯Ruby源代碼以及從visual C++ install中複製幾個庫和應用程序我已經有了。我複製的內容包括zlib庫以及iconv庫和應用程序。

注:我正在使用此設置作爲測試配置。我不會使用這樣的設置來製作(因爲誰知道當你從一個發行版到另一個發行版時會發生什麼)。

1

Yardboy,

太糟糕了,你沒有提到它的寶石,你想更新,你只能放在那裏的選項輸出。

此外,這些寶石中的一些需要開發頭文件和庫,而不僅僅是編譯器(MinGW)。

另外,MinGW將工作,只要你有創建的Ruby版本 MinGW。

有一些工作正在做,以緩解這一點,但編譯器,頭文件和庫要求需要所有平臺,而不僅僅是Windows。

你可以找到my blog

乾杯更多的信息和資源。

相關問題