2009-07-28 3 views
0

У кого-нибудь есть идеи относительно компиляции Ruby-кода для Windows? Я пробовал оба «Ruby2Exe» и «OCRA», но оба представляют свои проблемы. Ruby2Exe сохраняет неопределенные или запутывающие предупреждения, такие как «невозможно изменить замороженную строку». OCRA, с другой стороны, похоже, хочет запустить ваш скрипт и предполагает, что нет динамических элементов.(Ruby) Компиляция динамических приложений для Windows?

Для записи мой сценарий принимает аргументы командной строки, а также считывает и анализирует текстовый файл. OCRA вообще не любит этот аспект, и на самом деле бросает предупреждения в моем коде, как будто я пытался запустить скрипт.

В любом случае, если у кого есть какие-либо качественные средства для компиляции кода ruby ​​для Windows, я все уши.

Как немного FYI, моя цель с этим конкретным скриптом - отправить электронную почту через SMTP. Он является частью большего нерубинного приложения, но структура неспособна отправлять электронную почту. Я считаю, что Ruby приятный и довольно простой в работе, но не хочу, чтобы каждый конечный пользователь устанавливал Ruby - следовательно, необходимость/желание «скомпилировать» его.

Я нахожусь на коротком расписании и не могу позволить себе расходовать ресурсы при написании этого на C++ и т. Д. Однако, если у кого-то есть какие-либо сведения о любых существующих Windows-совместимых библиотеках/приложениях, расскажите.

Большое значение.

+0

Не могли бы вы предположить, что Java установлен или является обязательным условием? – David

ответ

0

«OCRA с другой стороны, кажется, хочет запустить сценарий ...»

Константа Ocra определяется во время компиляции, но не во время выполнения. Таким образом, вы можете включить логику, основанную на определении константы Ocra. Например:

app = MyApp.new 
    if not defined?(Ocra) 
    app.main_loop 
    end 
+0

Пожалуйста, простите меня, но кажется, что вы начинаете посреди мысли здесь. Я не смотрел код OCRA. Я просто использовал его для компиляции. Не могли бы вы расширить это утверждение? –

+0

Извините за путаницу. Ocra должен загрузить ваш скрипт, чтобы определить, какие файлы (включая необходимые драгоценные камни) должны быть включены в исполняемый файл. Я предполагаю, что один из ваших вопросов касается того, как избежать того, чтобы Ocra выполнил весь ваш скрипт. Процитирую разработчика Ocra: «Вы можете определить, создает ли Ocra в настоящее время ваш скрипт, ища постоянную« Ocra ». Если он определен, Ocra в настоящее время создает исполняемый файл из вашего скрипта. Например, вы можете использовать это для не открывать окно GUI при компиляции исполняемых файлов. " –

+0

Хорошо, все еще запутано, но не так. Так что я помещаю этот код в файл OCRA или в файл «.rb»? –

Смежные вопросы