Windows には、 標準で opengl32.dll と glu32.dll が用意されていて (c:¥WINDOWS¥system32 にある)、 Cygwin の Graphics カテゴリーの opengl というパッケージをインストールすると、 これらライブラリィと (と別途用意した GLUT) が利用できるようになる。
これを利用する利点は、 グラフィックス・カードのハードウェア・アクセラレーションが有効になる (要するに実行速度が速くなる) ことである。
/usr/include/w32api/GL/gl.h の 27 行目付近に、 ``Jose?Fonseca'' というような名前があるが、 実は cp932 (Shift JIS) としては、不正な文字コードが含まれている (コンパイルの支障になる)。 これはクレジットなので、単純に削除したりするとマズイが、 とりあえず ``Jose Fonseca'' にしてしまおう。
コンパイルは例えば次のようにする。
gcc -I/usr/include/opengl -DWIN32 -o heat1d heat1d-e-glut.c \ -lglut32 -lglu32 -lopengl32 |
-DWIN32 はどういう意味か? これを指定するように書いてある WWW ページが多いが、 筆者が試した範囲では、これを外しても同じだ。
以前は、 -I/usr/include/opengl を指定しなくてもコンパイル出来たようだが (ネット上の情報にはこの指定が書いてないことが多い)、 最近 (これを書いているのは 2008年12月) では、 この指定がないとリンク・エラーになるようである。
(http://nalab.mind.meiji.ac.jp/~mk/labo/2008/ccgl32)