岩崎 弘孝
IH000****@mb*****
2003年 10月 17日 (金) 09:44:35 JST
岩崎です。 Yuyaさん 早速のご返事ありがとうございます。 > > まず始めにお伺いしたいのですが、利用した win32ole.so は1.6用 > でしょうか?それとも1.8用でしょうか? 1.8系のつもりです。 activescript rubyのサイトからもってきたものに付属のものを使っている はずなので。 > コンパイル環境がないのなら、どこからかバイナリをダウンロード > されたのだと思いますが、どちらから入手されましたか? > それと、Exerbのバージョン番号を書いて頂けると助かります。 http://exerb.sourceforge.jp/#download です。 バージョンは2.6.7です。 確認は以下のようにしたのですが、もっと簡単に確認するには どうすればよいですか? ruby -r exerb.rb -e "puts Exerb::VERSION" > > > exrb/mkrbcで自動作成された.rbcファイルは > > > # generated by mkrbc.rb > > > kcode none > > > script ex.rb > > > library win32ole.so C:/Program > > Files/ruby-1.8/lib/ruby/1.8/i386-mswin32/win32ole.so > ... > > ruby -S exerb.rb ex.rbc > 上記のレシピファイル、コマンドだと、デフォルトのruby168c.rbx > コアファイルが使用されます。 > 1.8系のコアファイルを使用する場合は、Exerb Core Collectionを > 別途インストールの上、exerb.rbの-c/-Cオプション、または > レシピファイルでcorename、corepathを指定する必要があります。 > 1.6系コアで1.8用の拡張ライブラリは使えませんし、逆もまた真なり。 > まったく原理を理解していませんし、基本的注意事項が 理解できていませんでした(ごめんなさい)。 ruby168c.rbx,rbuby168g.rbxとはruby 1.68専用なんですか? 拡張ライブラリを利用していないスクリプトを 1.8のruby本体+ruby168c.rbxでexeかできたので制限が ゆるいのかと思っていました。 拡張ライブラリがからむものは絶対に1.6,1.8混在がだめと いうことなので1.8系のコアをインストールして、やってみます。 ところで ruby1.6.7のapolloがあったのでそれでwin32oleの スクリプトをexeかしましたが、 「"ruby lib version (1.6.7) doesn't match executable version (1.6.8)"」 の例外があがっていました。 ruby168cなどは完全に1.6.8専用と捉える必要がありますか? ( apolloの場合無条件でphi.rbないでconfig.rbをrequireしているし、 上記の例外は専用の例外をあげているのでもないようなので 今は、rbconfig.rbのソースを修正して無理やり動かしています) 現在試用中なのでまだまだ質問があると思いますので 今後とも宜しくお願いします。