OpenGLのインストールとコンパイル の変更点


 OpenGLを利用してプログラミングするためには,必要なライブラリをインストールしなければなりません. Vine LinuxとWindows XPでの方法を紹介します.
 
 #contents
 
 
 * Vine Linux 3.xへのインストール [#cafa8629]
 
 LinuxではXに含まれるglライブラリを利用することができます. Vine Linux 3.xではXOrgに含まれているOpenGLライブラリを使用することができます.
 
 ** OpenGLライブラリのインストール [#laacf369]
 
 OpenGLライブラリは,apt-getで簡単にインストールすことができます.Vine Linux 3.xの場合,
 
  # apt-get install XOrg-libs XOrg-devel XOrg-gl-devel
 
 とすればインストール完了です.
 
 ** GLUTのインストール [#g2c0bc41]
 
 つぎに,GLUTをインストールします.これもaptで入手可能です.コンパイルには開発用のglut-develも必要になりますので,aptコマンドで
 
  # apt-get install glut glut-devel
 
 とすればインストール完了です.GLUTのライブラリは「/usr/lib」へ,ヘッダは「/usr/include/GL」へそれぞれインストールされます.
 
 ** GLUIのインストール [#v3ffbbc1]
 
 ボタンやボックスなどのGUI部品を提供するGLUIを使いたい場合は, GLUIをソースからコンパイルしてインストールします.作者のWebサイト
 
 - http://www.nigels.com/glt/glui/
 
 から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
 
 すると下のプログラムが立ち上がります.
 
 #ref(fig1.png,nolink)
 
 このボタンやボックスなどが GLUI によって提供される部品です.このようなGUI部品はウィジェットと呼ばれます.
 
 
 * Vine Linux 2.6へのインストール [#t26e42c3]
 
 Vine Linux 2.6ではXFree86に含まれるOpenGLライブラリを利用可能です.ライブラリのある場所が違うため,Vine Linux 3.xとは若干インストール方法が異なります.
 
 ** OpenGLライブラリのインストール [#f6e32e1e]
 
 apt-getでインストールできます.Vine Linux 2.6の場合,
 
  # apt-get install XFree86-gl XFree86-gl-devel
 
 とします.
 
 ** GLUTのインストール [#kb28170b]
 
 aptで入手可能です.
 
  # apt-get install glut glut-devel
 
 GLUTのライブラリは「/usr/X11R6/lib」へ,ヘッダは「/usr/X11R6/include/GL」へそれぞれインストールされます.
 
 ** GLUI のインストール [#u0fb91bb]
 
 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をインストールしていた場合 [#z69e8b0e]
 
 少し前まで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をインストールできるようになると思います.
 
 
 * プログラムのコンパイル方法 [#s2f75a96]
 
 プログラムをコンパイルするときには,「-lglut」や「-lglui」オプションを加えます. Vine Linux 3.xの環境で,プログラム中にGLUT関数しか使っていない場合は
 
  gcc foo.c -lglut -o foo
 
 だけでコンパイルできると思います.「GLUI」の関数も使っている場合には
 
  gcc foo.c -lglut -lglui -o foo
 
 などとします.
 
 ** Makefile [#b4f63136]
 
 以上のようなオプションをいちいち入力するのは大変ですね.ソースファイルと同じディレクトリに「Makefile」という名前のファイルを作成し,
 
  CC = gcc
  LOADLIBES = -lglut -lglui
  
  foo:
 
 と書き込んで保存しておけば,コマンドラインから
 
  $ make
 
 とするだけでコンパイルできるので便利です.
 
 さらに,最適化(-02),警告をたくさん出す(-Wall),数学関数(-lm)オプションを加えると,
 
  CC = gcc
  CFLAGS = -O2 -Wall
  LOADLIBES = -lm -lglut -lglui
  
  foo:
 
 というMakefileになります.最後の行を,コンパイルしたいファイル名に置き換えてください.
 
 
 * 【付録】Windows XPへのインストール [#j5ffa51d]
 
 Visual C++がC:\Program Filesにインストールされている環境での説明をします.Windows用のGLUTは
 
 - http://www.xmission.com/~nate/glut.html
 
 から手に入ります.ソースファイルとコンパイル済のバイナリファイルが用意されています.バイナリファイルをとってくるのが手っ取り早いでしょう.
 
 - glut-3.7.6-bin.zip (117 KB)
 
 をダウンロードします.GLUTのインストールは簡単で, zipファイルを解凍して出てくる
 
 - glut32.dll
 - glut32.lib
 - glut.h
 
 をそれぞれ適切なフォルダへコピーするだけです.
 
 - glut32.dll は C:\WINDOWS\system32 へ
 - glut32.lib は C:\Program Files\Microsoft Visual Studio\VC98\Lib へ
 - glut.h は C:\Program Files\Microsoft Visual Studio\VC98\Include\GL へ
 
 それぞれコピーします.あとはいつも 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.002 sec.