2008-10-03 14 views
5

Der Versuch, einige Edelsteine ​​auf einem Windows-Rechner zu aktualisieren und ich diese Fehlerausgabe für Edelsteine ​​immer wieder bekommen, die nicht vorab kompilierten Binärdateien haben:Wie kann ich Ruby Gems-Installationen unter Windows MinGW zum Erstellen und Kompilieren verwenden?

bereitgestellt Konfigurationsoptionen: --with-opt-dir --without- opt-dir - mit-opt-include --ohne-opt-include = $ {opt-dir}/include - mit-opt-lib --ohne-opt-lib = $ {opt-dir }/lib --with-make-prog --srcdir =. --curdir --ruby = c:/server/ruby ​​/ bin/ruby ​​

Dies sind Konfigurationsoptionen, die auf die extconf.rb Rubin-Datei während der Installation des gem vorgesehen sind.

Ich habe MinGW installiert, also sollte ich alles haben, was ich brauche, um diese Edelsteine ​​zu installieren, zu machen und zu kompilieren. Ich weiß jedoch nicht, wie man die Konfiguration für RubyGems ändert, so dass beim Aufruf von extconf.rb die entsprechenden Optionen auf das MinGW-Include-Verzeichnis verweisen.

Antwort

3

Es gibt eine DevKit, die gut sein könnte, wonach Sie suchen.

+0

Danke - ich war mir nicht bewusst, bis die Lektüre das, dass die Edelsteine ​​mit dem gleichen Compiler für die Ruby-Sprache selbst kompiliert werden müssen. Das ist der Fall, ich bin in die andere Richtung gegangen - ich habe VC6 installiert und mit einem kleinen Code-Zusatz zu einer Header-Datei funktioniert alles gut. Vielen Dank. – Yardboy

1

Ich weiß nicht, ob dies mit dem nativen Windows Ruby funktioniert, aber wenn Sie die Cygwin-Version verwenden und einen vollständigen Cygwin installiert haben (Compiler usw.), dann sollten Sie keine Probleme haben - wir konnten benutze viele Edelsteine, die kompiliertes Material benötigen.

-1

Im Allgemeinen kann Code, der für ein Unix-System entwickelt wurde, nach meiner Erfahrung sehr schwer mit MinGW arbeiten. Verwenden Sie für einen schnellen Anschluss CygWin. Oder machen Sie einen vollständigen Port der Software auf Windows-Host, einschließlich der Verwendung nativer Windows-Shell und OS-API - was ziemlich teuer in Bezug auf die Zeit ist, aber es zahlt sich aus, wenn Sie planen, Windows langfristig zu unterstützen.

Nicht vertraut mit diesem speziellen Softwarepaket, dies ist nur eine allgemeine Beobachtung über den Versuch, einige andere fatale Teile des Codes zu Windows portieren.

0

Ich hatte genau das gleiche Problem. Die einzige Möglichkeit, Edelsteine ​​zu erhalten, die keine vorkompilierten Binaries - wie zB Partree - unter Windows hatten, bestand darin, die Ruby-Quelle mit Mingw neu zu kompilieren sowie mehrere Bibliotheken und Anwendungen aus der visuellen C++ - Installation zu kopieren Ich hatte bereits. Was ich kopiert habe, waren die zlib-Bibliothek sowie die iconv-Bibliothek und -Anwendung.

Hinweis: Ich verwende dieses Setup als Testkonfiguration. Ich würde ein solches Setup nicht für die Produktion verwenden (denn wer weiß was passiert wenn man eine Bibliothek von einer Distribution zur anderen bringt).

1

Yardboy,

Schade, dass Sie nicht erwähnt, welche gem versuchen Sie zu aktualisieren, nur Sie dort Ausgang der Put-Optionen.

Auch einige dieser Edelsteine ​​brauchen Entwicklung Header und Bibliotheken, nicht nur den Compiler (MinGW).

Plus, MinGW wird funktionieren, solange der Ruby-Build, den Sie haben, mit MinGW erstellt wird.

Es gibt einige Arbeit getan, um dies zu erleichtern, aber Compiler, Header und Bibliothek Anforderungen sind auf alle die Plattformen, nicht nur Windows benötigt.

können Sie weitere Informationen und Ressourcen auf my blog finden

Beifall.

Verwandte Themen