Cygwin/Mingw32上でのOpenGL開発環境の構築
since 2000/04/18
last modified 2000/04/18
さて、前回のMS-Windows上でのSDL開発環境の構築
により、MS-Windows上でフリーなプログラミング開発環境を手に入れることが出来ました。
そこで今回はさらに一歩進めて、OpenGL開発環境を構築してみましょう。
今回は、前回構築したCygwin/Mingw32をベースにOpenGL開発環境を構築します。
手順は、OpenGLライブラリに必要なgl.h, glu.hヘッダファイルを入手し、
任意の場所に格納するだけです。
ただ、glut開発環境までをも構築する、となると少し面倒です。ここでは、glut
開発環境の構築については説明しません。
そのため、glutに興味のある人は、以下に紹介する川地さんのWebpageを参考にして、
glut開発環境も構築してみて下さい。
(binary,sourceの入手先は、どこにあるか分かりにくいため、Toppageへのリンクと
直接リンクの二つです。しかし、binary,sourceへの直接リンクは
Webpageの内容が変更される可能性が大きいので、切れることがあります)。
SGI's OpenGL SDK ヘッダファイルのインストール
|
SGI's OpenGL SDKは、ディレクトリ"c:\oglsdk"にインストールします
(もちろん任意なディレクトリでもかまいませんが、以下はディレクトリ"c:\oglsdk"
にインストールされているものとして述べます)。
- インストールプログラムに従って、SGI's OpenGL SDKをディレクトリ"c:\oglsdk"
にインストールします。
- ディレクトリ"c:\oglsdk\include\gl"をディレクトリ
"c:\usr\local\cross-tools\i386-mingw32\include"以下にコピーします。
Cygwin B20.1付属のlibopengl32.aだと一部の関数 (glGenTexturesなど) が抜けています。
そのため、SGI's OpenGL SDK付属のopengl.lib を利用してlibopengl32.aを作り直します。
- ディレクトリ"c:\bin"のファイル"cygnus.bat"を起動し、コマンドプロンプトを
表示します。
- opengl.lib から opengl.def を生成します。
cygwin User's guideの
Linking Against DLLsを見ながら作業します。opengl.lib ファイルから
シンボルを抜き出してopengl.def ファイルを作成。
# cd /oglsdk/lib
# echo EXPORTS > opengl.def
# nm opengl.lib | grep 'T _' | sed 's/.* T _//' >> opengl.def
- 生成した opengl.def ファイルの情報を利用してlibopengl32.aファイルを作成。
# dlltool --def opengl.def --dllname opengl32.dll --output-lib libopengl32.a --kill-at --add-stdcall-alias
- 作成したlibopengl32.aファイルをディレクトリ"c:\mingw32\i-386mingw32\lib"
のものと差し替えます。
以上の手順でOpenGL開発環境の構築は完了しました。
それでは、前回のSDL開発環境の構築で使用しましたtestツールを
再度コンパイルして実行してみましょう
(testツールはディレクトリ"c:\tmp\SDL-1.1.2\test"にあるとします)。
- このままでは、configureに失敗するので、
"c:\tmp\SDL-1.1.2\test\configure"ファイルを編集します。
2325行付近の"#include <GL/gl.h>"の前行に"#include <windows.h>"
を挿入します。
#include <GL/gl.h> (変更前 2325行付近)
#include <windows.h> (変更後 2325行付近)
#include <GL/gl.h>
- コマンドプロンプトから、ディレクトリ"c:\tmp\SDL-1.1.2\test"に
移動して、testツールを再度コンパイルします。
# make distclean
# ./configure --host=linux-i386 --target=i386-mingw32
# make testgl
- それでは、testglファイルを実行してみましょう。
# ./testgl.exe
SDL OpenGL Tutorialsのコンパイル
|
今回は、新しくSDL OpenGL Tutorialsのソースコードをコンパイルして実行してみましょう
(SDL OpenGL Tutorials"OpenGL-intro-1.0.0.tar.gz"はディレクトリ"c:\tmp"に
格納しているものとします)。
- コマンドプロンプトから、ディレクトリ"c:\tmp"に移動して、SDL OpenGL Tutorials
"OpenGL-intro-1.0.0.tar.gz"を展開します。
# cd /tmp
# tar xzvf OpenGL-intro-1.0.0.tar.gz
- このままでは、configureに失敗するので、
"c:\tmp\OpenGL-intro-1.0.0\configure"ファイルを編集します。
1400行付近の"#include <GL/gl.h>"の前行に"#include <windows.h>"
を挿入します。
#include <GL/gl.h> (変更前 1400行付近)
#include <windows.h> (変更後 1400行付近)
#include <GL/gl.h>
- コマンドプロンプトから、展開したディレクトリ"c:\tmp\OpenGL-intro-1.0.0"に
移動して、コンパイルします。
# ./configure --host=linux-i386 --target=i386-mingw32
# make
- それでは、lesson01から実行してみましょう。
# ./lesson01.exe
[Top Pageに戻る]