ruby-opengl 0.60.0 : セットアップに再挑戦
追記: 以下の内容は古くなっています。こちらが役に立つかもしれません。
VC++ 2008 版の Ruby 1.9.0 ができたので、ruby-opengl 0.60.0 のインストール。
- GLUTのヘッダ・ライブラリは Windows SDK や Platform SDK で使える場所に配置しておきます。
- rake や mkrf を最新版にしておきます。mkrf の 0.2.3 は Ruby 1.9.0 対応済みのバージョンです。
> gem install mkrf Successfully installed mkrf-0.2.3 1 gem installed Installing ri documentation for mkrf-0.2.3... Installing RDoc documentation for mkrf-0.2.3...
いきなり
gem install ruby-opengl
とやってしまうと、Ruby 1.8 版のバイナリがインストールされてしまうので注意。ソースアーカイブをいただいてきて作業します。> wget http://rubyforge.org/frs/download.php/30282/ruby-opengl-0.60.0.gem ... > gem install ruby-opengl-0.60.0.gem Building native extensions. This could take a while... Successfully installed ruby-opengl-0.60.0 1 gem installed
ではさっそく!
> ruby d:\ruby19\lib\ruby\gems\1.9.0\gems\ruby-opengl-0.60.0\examples\RedBook\teapots.rb --------------------------- ruby.exe - コンポーネントが見つかりません --------------------------- MSVCR90.dll が見つからなかったため、 このアプリケーションを開始できませんでした。 アプリケーションをインストールし直すとこの問題は解決される場合があります。 --------------------------- OK ---------------------------
あらら。
案の定、できあがった各種 DLL にはマニフェストが埋め込まれていませんでした。というわけで後は手作業で、
- gl.so
- glu.so
- glut.so
にマニフェストファイルを埋め込みます。ビルド時の中間ファイルがすべて残っているので、
> cd d:\ruby19\lib\ruby\gems\1.9.0\gems\ruby-opengl-0.60.0\ext\gl > mt -manifest gl.so.manifest -outputresource:gl.so;2 > cd ..\glu > mt -manifest glu.so.manifest -outputresource:glu.so;2 > cd ..\glut > mt -manifest glut.so.manifest -outputresource:glut.so;2 > cd ..\.. > rake d:\ruby19\lib\ruby\gems\1.9.0\gems\ruby-opengl-0.60.0>rake (in d:/ruby19/lib/ruby/gems/1.9.0/gems/ruby-opengl-0.60.0) ruby mkrf_conf.rb call rake --nosearch (in d:/ruby19/lib/ruby/gems/1.9.0/gems/ruby-opengl-0.60.0/ext/gl) copy gl.so ..\..\lib 1 個のファイルをコピーしました。 ruby mkrf_conf.rb call rake --nosearch (in d:/ruby19/lib/ruby/gems/1.9.0/gems/ruby-opengl-0.60.0/ext/glu) copy glu.so ..\..\lib 1 個のファイルをコピーしました。 ruby mkrf_conf.rb call rake --nosearch (in d:/ruby19/lib/ruby/gems/1.9.0/gems/ruby-opengl-0.60.0/ext/glut) copy glut.so ..\..\lib 1 個のファイルをコピーしました。
今度こそ!
> ruby d:\ruby19\lib\ruby\gems\1.9.0\gems\ruby-opengl-0.60.0\examples\RedBook\teapots.rb
うまく実行できました。