2011/06/26(日) [n年前の日記]
#1 [prog] ruby-openglでハマった
Windows XP Home SP3 上で Ruby + OpenGL を試してみようとして色々ハマった。
まず、gem install ruby-opengl が動かない。実行すると「cl なんて外部コマンドはねえ!」とエラーが出る。どうも何かをコンパイルしてバイナリを作ろうとしているようだが、cl.exe なんて持ってないし。というか Windows 上でコンパイルしないと使えないなんて随分面倒な。*NIX環境ならコンパイルなんて屁でもないのだろうけど。
_ruby-opengl -- Home から辿って、 _RubyForge: Ruby bindings for OpenGL and GLUT: ファイルリスト から、ruby-opengl-0.60.1-x86-mswin32.gem をDL。gem install ruby-opengl-0.60.1-x86-mswin32.gem を実行したら入ったみたい(だが、これは入れないほうがいいと後で分かった)。
簡単なサンプルをコピペして実行したら、ウインドウが出た。が、ウインドウの終了ボタンを押して終了させたら、プロセスがずっと残ってCPU使用率50% ―― Core2Duo = デュアルコアCPU上で動かしているので片方のコアが全部使用されてる状態になってしまう。
_Nate Robins - OpenGL - GLUT for Win32 からDLした glut-3.7.6-bin.zip 内の glut32.dll を使うと、固まってしまう模様。glut32.dll はかなり昔に開発が終わってしまったらしいので、今時は freeglut や openglut のほうがいいらしい、という話を見かけた。試しに、 _The freeglut Project :: About から辿って、 _freeglut Windows Development Libraries から freeglut-MSVC-2.6.0-3.mp.zip をDLして、freeglut.dll を glut32.dll にリネームして C:\WINDOWS\system32\ にコピーしてみた。…これだと固まらない。何故だろう。
本来の glut32.dll に戻して色々実験。ruby-opengl-0.60.1-x86-mswin32.gem を gem uninstall ruby-opengl で一旦アンインストール。gem install ruby-opengl-0.60.0-i386-mswin32.gem を実行して1つ前のバージョン?を入れ直してみたところ、ウインドウを閉じてもプロセスが残らないようになった。何故。…まあ、動いてるみたいだからいいか。
Ruby 1.8インストールフォルダ\lib\ruby\gems\1.8\gems\ruby-opengl-0.60.0-x86-mswin32\ の中にサンプルがあるらしいので色々試してみたり。一応動いている模様。
まず、gem install ruby-opengl が動かない。実行すると「cl なんて外部コマンドはねえ!」とエラーが出る。どうも何かをコンパイルしてバイナリを作ろうとしているようだが、cl.exe なんて持ってないし。というか Windows 上でコンパイルしないと使えないなんて随分面倒な。*NIX環境ならコンパイルなんて屁でもないのだろうけど。
_ruby-opengl -- Home から辿って、 _RubyForge: Ruby bindings for OpenGL and GLUT: ファイルリスト から、ruby-opengl-0.60.1-x86-mswin32.gem をDL。gem install ruby-opengl-0.60.1-x86-mswin32.gem を実行したら入ったみたい(だが、これは入れないほうがいいと後で分かった)。
簡単なサンプルをコピペして実行したら、ウインドウが出た。が、ウインドウの終了ボタンを押して終了させたら、プロセスがずっと残ってCPU使用率50% ―― Core2Duo = デュアルコアCPU上で動かしているので片方のコアが全部使用されてる状態になってしまう。
_Nate Robins - OpenGL - GLUT for Win32 からDLした glut-3.7.6-bin.zip 内の glut32.dll を使うと、固まってしまう模様。glut32.dll はかなり昔に開発が終わってしまったらしいので、今時は freeglut や openglut のほうがいいらしい、という話を見かけた。試しに、 _The freeglut Project :: About から辿って、 _freeglut Windows Development Libraries から freeglut-MSVC-2.6.0-3.mp.zip をDLして、freeglut.dll を glut32.dll にリネームして C:\WINDOWS\system32\ にコピーしてみた。…これだと固まらない。何故だろう。
本来の glut32.dll に戻して色々実験。ruby-opengl-0.60.1-x86-mswin32.gem を gem uninstall ruby-opengl で一旦アンインストール。gem install ruby-opengl-0.60.0-i386-mswin32.gem を実行して1つ前のバージョン?を入れ直してみたところ、ウインドウを閉じてもプロセスが残らないようになった。何故。…まあ、動いてるみたいだからいいか。
Ruby 1.8インストールフォルダ\lib\ruby\gems\1.8\gems\ruby-opengl-0.60.0-x86-mswin32\ の中にサンプルがあるらしいので色々試してみたり。一応動いている模様。
[ ツッコむ ]
以上です。