Как заставить установки Ruby Gems в Windows использовать MinGW для создания и компиляции? - PullRequest
5 голосов
/ 03 октября 2008

Попытка обновить некоторые драгоценные камни на компьютере с Windows, и я постоянно получаю эту ошибку для драгоценных камней, которые не имеют предварительно скомпилированных двоичных файлов:

Предоставленные параметры конфигурации:

    --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

Это параметры конфигурации, которые предоставляются файлу extconf.rb ruby ​​при установке гема.

Я установил MinGW , поэтому у меня должно быть все необходимое для установки, сборки и компиляции этих драгоценных камней.
Однако я не знаю, как изменить конфигурацию RubyGems , чтобы при вызове extconf.rb включались соответствующие параметры, указывающие на каталог MinGW include .

Ответы [ 5 ]

3 голосов
/ 04 октября 2008

Существует DevKit , который вполне может быть тем, что вы ищете.

1 голос
/ 04 июня 2009

Yardboy,

Жаль, что вы не упомянули, какой драгоценный камень вы пытаетесь обновить, вы только поместили туда параметры вывода.

Кроме того, для некоторых из этих гемов нужны заголовки и библиотеки разработки, а не только компилятор (MinGW).

Кроме того, MinGW будет работать до тех пор, пока вы создаете сборку Ruby с MinGW.

Существует некоторая работа, чтобы облегчить это, но требования к компилятору, заголовкам и библиотекам необходимы на всех платформах, а не только в Windows.

Вы можете найти больше информации и ресурсов на моем блоге

Приветствие.

1 голос
/ 04 октября 2008

Я не знаю, работает ли это с нативным Windows Ruby, но если вы используете версию Cygwin и у вас установлена ​​полная версия Cygwin (компиляторы и т. Д.), То у вас не должно возникнуть никаких проблем - мы смогли использовать много драгоценных камней, требующих скомпилированных вещей.

0 голосов
/ 26 января 2009

У меня была точно такая же проблема.

Единственный способ, которым я нашел, чтобы заставить gems, у которых не было предварительно скомпилированных двоичных файлов, таких как parsetree, работать в Windows, было перекомпилировать исходный код Ruby с использованием Mingw, а также скопировать несколько библиотек и приложений из установки Visual C ++ I уже. То, что я скопировал, включало библиотеку zlib, а также библиотеку iconv и приложение.

Примечание. Я использую эту настройку в качестве тестовой конфигурации. Я бы не стал использовать такую ​​настройку для производства (так как кто знает, что происходит, когда вы переводите библиотеку из одного дистрибутива в другой).

0 голосов
/ 08 октября 2008

В целом, по моему опыту, код, разработанный для системы Unix, может быть очень сложным для работы на MinGW. Для быстрого переноса используйте CygWin. Или сделайте полный порт программного обеспечения для хоста Windows, включая использование встроенной оболочки Windows и API-интерфейса ОС, что довольно дорого с точки зрения времени, но окупается, если вы планируете поддерживать Windows в долгосрочной перспективе.

Не знаком с этим конкретным программным пакетом, это всего лишь общее замечание при попытке перенести некоторые другие подлые кусочки кода на Windows.

...