2009-07-28 4 views
0

RubyコードのWindowsコンパイルに関する洞察はありますか?私は "Ruby2Exe"と "OCRA"の両方を試しましたが、どちらも自分の問題を提示します。 Ruby2Exeは、「フリーズした文字列を変更できません」などの漠然とした、または混乱している警告を表示し続けます。一方、OCRAはスクリプトを実行したいと思われ、動的な項目がないことを前提としています。(Ruby)Windows用の動的アプリケーションをコンパイルしますか?

記録のために、私のスクリプトはコマンドライン引数を受け取り、テキストファイルを読み込んで解析します。 OCRAでは、このようなことはまったく気に入らず、実際にスクリプトを実行しようとしたかのように警告を自分のコードにスローします。

とにかく、誰かがWindows用のルビーコードをコンパイルするための品質の手段を持っているなら、私はすべて耳にします。

FYIのビットとして、このスクリプトの私の目標はSMTP経由でメールを送信することです。それは、より大きな非ルビアプリケーションの一部ですが、フレームワークは電子メールを送信できません。私はRubyを楽しく快適に扱うことができますが、すべてのエンドユーザにRubyをインストールさせたくないので、それを "コンパイル"する必要性/欲求があります。

私は短時間のテーブルであり、C++などでこれを書く際にリソースを費やす余裕はありません。しかし、既存のWindows互換のライブラリ/アプリケーションについて誰かが洞察しているなら、教えてください。

非常に高く評価されています。

+0

Javaがインストールされていることを前提にしてください。 – David

答えて

0

「OCRAは、一方でスクリプトを実行したいようだ...」

定数OCRAは、コンパイル時にではなく、実行時に定義されています。したがって、定数が定義されているかどうかに基づいてロジックを含めることができます。例:

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

私を許してください、しかしあなたはここで思考の途中で始めているようです。私はOCRAコードを見ていない。私はそれを使ってコンパイルするだけでした。その声明を拡大してもよろしいですか? –

+0

混乱して申し訳ありません。 Ocraは、実行可能ファイルに含めるファイル(必要な宝石を含む)を決定するためにスクリプトをロードする必要があります。あなたの質問の1つは、オクラがあなたのスクリプト全体を実行するのを避ける方法に関するものと仮定しています。 Ocraの開発者を引用するには、「Ocra定数を探すことでOcraがスクリプトを構築しているかどうかを検出できます。定義されている場合、Ocraはスクリプトから実行可能ファイルを作成しています。実行可能ファイルをコンパイルするときにGUIウィンドウを開くのを避けてください。 –

+0

これはまだ混乱していますが、それほどです。だから私はOCRAファイルまたは私の ".rb"ファイルにそのコードを置くのですか? –

関連する問題