ネットワークプログラミングでも覚えるかなと思ってRubyのsoketクラス周りを調べていたらなぜかruby/Tkを読みふけってはまり込んでしまった。
面白そう、でもWindowsでのインストールが易しくなさ過ぎる。。
ここ読んでなんとなく、ActiveTclが必要なんだなとインストール。
名前付け替えてとりあえず,乱数発生させて偽装Hallo,World。するとライブラリが足りないとデバッガに怒られた。
tk関係のファイルにリンクしてるみたいだから、ActiveTclのincludeの中身を全部、C:\ruby\lib\ruby\1.8\tkに突っ込んで再度試す。
そしたら、[C:/ruby/lib/ruby/1.8/i386-mswin32/tcltklib.so]が足りないとデバッガ仰る。
しかたないので、googleで検索してたらこのサイトを発見。
[ruby-list:40315] Ruby/Tk 講習会への Windows での参加
しかし、tcltklib.soを配布しているサイトがリンク切れ。
しつこくさがしていったらこちらを発見。
[ruby] Log of /tags/v1_8_2_preview1/ext/tcltklib/tcltklib.c
…バイナリ版はないのだろうか。まさかみんなこれをコンパイルしていれているのか?Linuxユーザならいいだろうけど、Windowsではかなり苦しいような気がするんだが。。
明日はCのコンパイラをインストールしようと思う。
まさかだけど、コンパイラによって挙動が違うとかないよな。。。
02:03:57 追記
tcltklib.soはよく探したら見つかりました。tk84.dllが見つからないようです。RDTのデバッグメッセージは紛らわしいです。
もしかしたら、RubyのバージョンとActiveTclのバージョンに依存してるかもしれません。
ちなみに環境は、
Ruby 1.8.5
ActiveTcl 8.5.0.0
2007/01/13 19:03:10
できました。やはり、ActiveTclのバージョンに問題があったようです。
ActiveTcl8.4.14で、Windows上でRuby1.8.5のRuby/Tkは動作します。
- 参考にさせていただいた皆様