Ubuntu 9.04 でOpenGLアプリでも作ろうかと思い、とりあえず赤本のサンプルコードをダウンロード。
何も考えずにコンパイル!
glut.h が無いというので、Ubuntuのパッケージマネージャから glut で検索すると
再度、コンパイル!
続いて実行してみる。
このエラーメッセージで検索してみるとここが引っかかりました。
どうやらglxモジュールとOpenGLをサポートしているビデオドライバが必要らしい。
パッケージマネージャで検索するが、めぼしいものは見つからず。
さて困った。
と思ったら、こちらによるとglxgearでOpenGLが使える環境かどうかわかるというので
$ glxgear
を実行してみると、見事にギアが回っています。
なんだ、使えるじゃん!
ということは、ソースコードが悪い可能性があるので、いろいろ試してみると
glutInitDisplayMode (GLUT_SINGLE | GLUT_INDEX);
の行が問題のようでした。私の環境ではGLUT_INDEXが使えないようです。
他のサンプルは無事、動きました。
以上。
何も考えずにコンパイル!
$ gcc aaindex.c当然エラー!
error: GL/glut.h: No such file or directory
glut.h が無いというので、Ubuntuのパッケージマネージャから glut で検索すると
freeglut3の3つのパッケージをインストールする。
freeglut3-dev
freeglut3-dbg
再度、コンパイル!
$ gcc aaindex.cやはりエラー
undefined reference to `glutSetColor'リンク時にAPIが見つからないとのことなので
・・・
$ gcc -lglut aaindex.cこれでコンパイルは通過。
続いて実行してみる。
$ ./a.outまたもエラー
get fences failed: -1
param: 6, val: 0
freeglut (./a.out): ERROR: Internal errorin function fgOpenWindow
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 4 (X_DestroyWindow)
Resource id in failed request: 0x0
Serial number of failed request: 29
Current serial number in output stream: 32
どうやらglxモジュールとOpenGLをサポートしているビデオドライバが必要らしい。
パッケージマネージャで検索するが、めぼしいものは見つからず。
さて困った。
と思ったら、こちらによるとglxgearでOpenGLが使える環境かどうかわかるというので
$ glxgear
を実行してみると、見事にギアが回っています。
なんだ、使えるじゃん!
ということは、ソースコードが悪い可能性があるので、いろいろ試してみると
glutInitDisplayMode (GLUT_SINGLE | GLUT_INDEX);
の行が問題のようでした。私の環境ではGLUT_INDEXが使えないようです。
他のサンプルは無事、動きました。
以上。
コメント
コメントを投稿