How to build



Un*x

必要なもの

このサイトにあるOpenGLのサンプルを走らせるためには、以下のようなものが必要です。

まず、使っているシステムに、libGL.soとlibGLU.soがインストールされているか調べてください。BSDやLinuxの場合、XFree86 4.0以降であれば標準で含まれていますし、SGIのIRIXやSunのSolarisにも標準でインストールされているようです。
もし入っていないようなら、OpenGL互換ライブラリのMesaをインストールしてください。

次に、libglut.soがあるか確認します。無いようなら、別途インストールします。ソースはwww.opengl.orgのGLUT Specificationからダウンロードできます。バイナリ配布もいろいろなところで見かけるので、適当に探してみてください。BSDならport、Linuxならrpmやdebパッケージでの配布もあります。
なお、Mesaをインストールした場合は、一緒にglutライブラリもついていますので、別途インストールする必要はありません。

Build

サンプルプログラムは、以下のようにしてビルドする事ができます。/usr/local/includeは、GL/gl.hやGL/glu.hのあるディレクトリ、/usr/local/libはlibGL.soなどが入っているディレクトリを指定します。

$ cc -I/usr/local/include -L/usr/local/lib -lGL -lGLU -lglut -L/usr/X11R6/lib -lX11 -lXi -lXmu sample01.c

毎回このコマンドを打つのもめんどくさいと思うので、Makefileを書いてしまうのが楽だと思います。


MS Windows

必要なもの

OpelGLライブラリ(opengl32.dll)とGLUライブラリ(glu32.lib)はWindowsに標準で含まれます。また、開発に必要なヘッダやライブラリもVC++やBorlandC++に標準で含まれています。

ですので、別途インストールが必要なのはglutライブラリだけです。Windows用glutは、GLUT for Win32からダウンロードできます。
BorlandC++を使っている場合は、VC++用のglut32.libをそのまま読み込むことができないので、implibなどを使ってBorlandC++用のライブラリを作る必要があります。作り方は簡単で、以下のようにするだけです。

C:\Anywhere> implib glut32.lib glut32.dll

winmain.c

Windowsのプログラムでは(コンソールアプリケーションを除いて)、WinMain()からプログラムの実行が始まります。一方でglutInit() APIは、引数としてargcargvを必要とします。そのため、WinMain()の引数からargcargvを作る必要があります。

その処理をするプログラムとして、winmain.cを作りました。sample01.cなどと一緒にコンパイル・リンクしてください。

Build

VC++やBorlandC++の統合開発環境を使う場合は、リンク設定のところで、opengl32.lib,glu32.lib,glut32.libの3つを一緒にリンクするよう設定してください。

コマンドラインからビルドする場合、例えばBorland C++ コンパイラなら次のようにします。

C:\Anywhere> bcc32 -tW sample01.c winmain.c

その他のプラットフォーム

MacOS X以降は、OpenGLは正式サポートされているようで、Apple Developer - OpenGLからいろいろな情報をとれるようです。Amiga、MS-DOS、OS/2あたりならMesaを使うことができます。


Fortran90を使う場合

Fortran90やFortran95からOpenGLやglutを使う場合、f90glが役に立つでしょう。libGL,libGLU,libglutの機能をFortran90から使うことができます。


ご意見、ご感想は、花房 真広 <webmaster@hanabusa.net>まで。メールする前にtop pageの注意書を読んでください。