OpenGLのインストールとコンパイル

OpenGLを利用してプログラミングするためには,必要なライブラリをインストールしなければなりません. Vine LinuxとWindows XPでの方法を紹介します.

Vine Linux 3.xへのインストール

LinuxではXに含まれるglライブラリを利用することができます. Vine Linux 3.xではXOrgに含まれているOpenGLライブラリを使用することができます.

OpenGLライブラリのインストール

OpenGLライブラリは,apt-getで簡単にインストールすことができます.Vine Linux 3.xの場合,

# apt-get install XOrg-libs XOrg-devel XOrg-gl-devel

とすればインストール完了です.

GLUTのインストール

つぎに,GLUTをインストールします.これもaptで入手可能です.コンパイルには開発用のglut-develも必要になりますので,aptコマンドで

# apt-get install glut glut-devel

とすればインストール完了です.GLUTのライブラリは「/usr/lib」へ,ヘッダは「/usr/include/GL」へそれぞれインストールされます.

GLUIのインストール

ボタンやボックスなどのGUI部品を提供するGLUIを使いたい場合は, GLUIをソースからコンパイルしてインストールします.作者のWebサイト

からglui_v2_2.tgzもらってきて,適当なディレクトリに保存します.そして解凍します.

$ tar zxvf glui_v2_2.tbz

解凍してできたディレクトリに移動して

$ cd glui_v2_2

そこにbinとlibというディレクトリを作成します.

$ mkdir bin
$ mkdir lib

そしてmakefileのつぎの部分を編集します. GLUTライブラリ,GLUTヘッダの場所,C++コンパイラを指定し直しています.

GLUT_LIB_LOCATION=/usr/lib ← GLUTライブラリのある場所に
GLUT_INC_LOCATION=/usr/include ← GLUTヘッダのある場所に
...
#CC=CC -g0 -o32 ← コメントアウト
...
CC=g++ -O3 ← コメント解除

GLUTヘッダのある場所が「/usr/include/GL」でなく「usr/include」になるのは, glut.hをインクルードするときにGL/glut.hと書くからです.

makefileを編集したらいよいよコンパイルです.

$ make

コンパイルしているとき,

example1.cpp:89: error: `main' must return `int'
make: *** [example1.o] エラー 1

というエラーが出ると思います.これは,サンプルプログラムにて, main文の戻り値がintでないため起きるエラーです.ですので,すべてのサンプルプログラムの戻り値をvoidからintに変えておきます.そしてもう一度makeします.

コンパイルが終わると,「libglui.a」というライブラリが,さきほど作ったlibディレクトリにできあがります. gluiを使ったプログラムをコンパイルできるように,このライブラリと,もとからglui_v2_2.zip含まれている「glui.h」を, GLUTのライブラリ,ヘッダのあるディレクトリにそれぞれコピーします.この作業はrootになって行います.

$ su
# cp lib/libglui.a /usr/lib
# cp glui.h /usr/include/GL
# exit

make時にデモプログラムもコンパイルされます.さきほど作ったbinディレクトリに実行ファイルが5個できています.実行してみましょう.

$ bin/example5

すると下のプログラムが立ち上がります.

fig1.png

このボタンやボックスなどが GLUI によって提供される部品です.このようなGUI部品はウィジェットと呼ばれます.

Vine Linux 2.6へのインストール

Vine Linux 2.6ではXFree86に含まれるOpenGLライブラリを利用可能です.ライブラリのある場所が違うため,Vine Linux 3.xとは若干インストール方法が異なります.

OpenGLライブラリのインストール

apt-getでインストールできます.Vine Linux 2.6の場合,

# apt-get install XFree86-gl XFree86-gl-devel

とします.

GLUTのインストール

aptで入手可能です.

# apt-get install glut glut-devel

GLUTのライブラリは「/usr/X11R6/lib」へ,ヘッダは「/usr/X11R6/include/GL」へそれぞれインストールされます.

GLUI のインストール

Vine Linux 3.xでの場合とほぼ同じです.違うのはmakefileの編集部分です.

GLUT_LIB_LOCATION=/usr/X11R6/lib ← GLUTライブラリのある場所に
GLUT_INC_LOCATION=/usr/X11R6/include ← GLUTヘッダのある場所に
...
#CC=CC -g0 -o32 ← コメントアウト
...
CC=g++ -O3 ← コメント解除

あとは同様にコンパイル,コピーします.

【注意】Mesaをインストールしていた場合

少し前までOpenGLライブラリはXFree86-glに統合されておらず, Mesaという互換ライブラリを使うようになっていたと記憶しています.これもVine Plusにあってapt-getでインストールできますが, XFree86-glと一部のライブラリがかぶっていた気がします(あいまい).

それで,一度Mesaをインストールしていると,うまくXFree86-glがインストールできなくなります.その場合はrpm -eコマンドでMesaをアンインストールするのですが,依存関係があるため--nodepsオプションを付けて無理矢理取り除きます.

# rpm -e --nodeps Mesa Mesa-devel Mesa-common Mesa-common-devel

これでaptからXFree86-glをインストールできるようになると思います.

プログラムのコンパイル方法

プログラムをコンパイルするときには,「-lglut」や「-lglui」オプションを加えます. Vine Linux 3.xの環境で,プログラム中にGLUT関数しか使っていない場合は

gcc foo.c -lglut -o foo

だけでコンパイルできると思います.「GLUI」の関数も使っている場合には

gcc foo.c -lglut -lglui -o foo

などとします.

Makefile

以上のようなオプションをいちいち入力するのは大変ですね.ソースファイルと同じディレクトリに「Makefile」という名前のファイルを作成し,

CC = gcc
LOADLIBES = -lglut -lglui

foo:

と書き込んで保存しておけば,コマンドラインから

$ make

とするだけでコンパイルできるので便利です.

さらに,最適化(-02),警告をたくさん出す(-Wall),数学関数(-lm)オプションを加えると,

CC = gcc
CFLAGS = -O2 -Wall
LOADLIBES = -lm -lglut -lglui

foo:

というMakefileになります.最後の行を,コンパイルしたいファイル名に置き換えてください.

【付録】Windows XPへのインストール

Visual C++がC:\Program Filesにインストールされている環境での説明をします.Windows用のGLUTは

から手に入ります.ソースファイルとコンパイル済のバイナリファイルが用意されています.バイナリファイルをとってくるのが手っ取り早いでしょう.

をダウンロードします.GLUTのインストールは簡単で, zipファイルを解凍して出てくる

をそれぞれ適切なフォルダへコピーするだけです.

それぞれコピーします.あとはいつも Visual C++ を使うときと同じように GLUT を使って書いたソースを コンパイル,ビルド,実行できます.

Valid XHTML 1.1! home > コンピュータ > グラフ・解析ツール >
リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Modified by 物理のかぎプロジェクト PukiWiki 1.4.5_1 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-jiPowered by PHP 5.3.29HTML convert time to 0.016 sec.