Hatena::ブログ(Diary)

なんだそのカオは -_-

2012-10-01

Ruby/Tk を含むスクリプトをocraでexe化する方法

Ruby/Tkを含むスクリプトをocraでexe化するとエラー

  ocraはruby1.9系をexe化するのに簡単便利だが、

  ruby/tkで作成したGUIスクリプトをexe化すると

  実際にスクリプトが実行されて、GUIのウィンドウが表示された後にエラーになる。

C:/Ruby193/lib/ruby/gems/1.9.1/gems/ocra-1.3.0/bin/ocra:467: Use RbConfig instea
d of obsolete and deprecated Config.
C:/Ruby193/lib/ruby/1.9.1/tk/console.rb:13:in `_create_console': interpreter is
deleted (RuntimeError)
        from C:/Ruby193/lib/ruby/1.9.1/tk/console.rb:13:in `create'
        from C:/Ruby193/lib/ruby/1.9.1/tk/console.rb:15:in `<module:TkConsole>'
        from C:/Ruby193/lib/ruby/1.9.1/tk/console.rb:6:in `<top (required)>'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/ocra-1.3.0/bin/ocra:467:in `con
st_get'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/ocra-1.3.0/bin/ocra:467:in `blo
ck (3 levels) in attempt_load_autoload'
(以下、省略)

  ocraのオプションの「--no-autoload」が必要ぽいと思って実行してもexeファイルは作成はされるが、

  exe実行途中で落ちた。

  いろいろ調べたが、調べ方が悪かったのかようやくドンピシャな答えを発見!!

rubyスクリプトのexe化|雑記

ocra sample.rb C:\Ruby193\lib\tcltk\ --no-autoload --add-all-core

  今回はコマンドプロンプトの画面に実行結果を表示するため、「--windowsオプションははずしています。

  これでexe化も、実行も成功。

  ただ、失敗exeよりもサイズが大きくなったし、実行までも遅くなった。

  それにしても解決してすっきりしたぁ!

  

akinobuakinobu 2012/10/14 20:01 雑記の管理人です。
役に立ててよかったです。
雑記は気になったことがあったときに不定期に書いてます。
リンクを貼っていただきありがとうございます。

ムーニーマンムーニーマン 2013/10/14 17:46 めちゃくちゃ参考になったけどヒトコトだけ言わせて頂きたい
それは多分ORCAじゃなくてOCRAだ!

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/gakeno_ueno_horyo/20121001/1349097294
リンク元