Blue Impulse 3DG SDK - How to build?
- ライブラリとアプリケーションのコンパイル
このドキュメントは、
- ライブラリのコンパイルの仕方
- アプリケーションのコンパイルの仕方
をUNIX,GLXとWindows環境用に書いてあります。
Macintoshは、CodeWarriorが頻繁に仕様を変更するのでもう相手にする気
になりません。CodeWarrior8用に説明を書いたらCodeWarrior9では既にそ
の説明では何もできなくなったりしました。Macintosh用ライブラリをコン
パイルしたい人は、CodeWarriorのマニュアルを参照してください。
それから、もしもFM-TOWNSを使っていて、High-Cに詳しい人ならば、多分
どうやってライブラリやアプリケーションをコンパイルできるのか、自力
で解明することができるのではないかと思います。(自力で解明してほしい
^_^;)。一応、TOWNS用のmakefileとか入っているので、そのへんを参照し
て解明してください(^_^;)
For UNIX:
+ Build libraries
- makefile@impulse/src/xwin/ を使って、libimpulse.aをmakeします。
- libimpulse.aをライブラリパスにコピーします。
- impulse.h (@impulse/src/)をインクルードパスにコピーします。
- makefile.unx@skyhawk/src/ を使って、libskyhawk.aをmakeします。
- libskyhawk.aをライブラリパスにコピーします。
- skyhawk.hをインクルードパスにコピーします。
- makefile@hotas/src/emulate/ (CFLAGS=-I____)を必要に応じて修正します。
- makefile@hotas/src/emulateを使ってlibhotas.aをmakeします。
- libhotas.aをライブラリパスにコピーします。
- hotas.hをインクルードパスにコピーします。
- makefile.unx@aurora/src/ (CFLAGS=-I____)を必要に応じて修正します。
- makefile.unx@aurora/src/makefile.unxを使って、libaurora.aをmakeします。
- libaurora.aをライブラリパスにコピーします。
- aurora.hをインクルードパスにコピーします。
- makefile.x@impulse/impulse2g/ (CFLAGS=-I____)を必要に応じて修正します。
- makefile.x@impulse/impulse2g/を使って、libimpulse2g.aをmakeします。
- libimpulse2g.aをライブラリパスにコピーします。
- impulse2g.hをインクルードパスにコピーします。
(gccがインストール済みであることを前提に書いてます。もしも、gccが入って
いない場合、makefile/makefile.unx/makefile.xの中の"CC=gcc"を修正してく
ださい。)
+ Compile your programs
(1)すべてのライブラリ/ヘッダをコンパイラ標準のライブラリ/インクルードパス
にコピーした場合。
gcc (your source) -laurora -lskyhawk -limpulse -lhotas -limpulse2g -X11 -lm
(2)Root権限が無くて(さらにシステムアドミニストレータが不親切だった場合(^_^;))
gcc (your source) -I(your include path) -L(your library path) -laurora -lskyhawk -limpulse -lhotas -limpulse2g -X11 -lm
(ひょっとすると、いくつかの関数が欠けているというエラーが出るかもしれませ
ん。その場合、ライブラリを指定する順番を変えてみてください。なんでこんな
いわれの無いエラーが出るのかさっぱりわかりません。)
For GLX:
+ Build libraries
- makefile@impulse/src/glx/ を使って libimpulse.aをmakeします。
- libimpulseglx.aをライブラリパスにコピーします。
- impulse.h (@impulse/src/)をインクルードパスにコピーします。
ステップ4〜11は、普通のUNIX用と同じです。
+Compile your program
(1)すべてのライブラリ/ヘッダをコンパイラ標準のライブラリ/インクルードパス
にコピーした場合。
gcc (your source) -laurora -lskyhawk -limpulseglx -limpulse2g -lhotas -lX11 -lXext -lGL -lGLU -lm
(2)Root権限が無くて(さらにシステムアドミニストレータが不親切だった場合(^_^;))
gcc (your source) -L(your library path) -I(your include path) -laurora -lskyhawk -limpulseglx -limpulse2g -lhotas -lX11 -lXext -lGL -lGLU -lm
(ひょっとすると、いくつかの関数が欠けているというエラーが出るかもしれませ
ん。その場合、ライブラリを指定する順番を変えてみてください。なんでこんな
いわれの無いエラーが出るのかさっぱりわかりません。)
For Windows:
+Build libraries
バイナリがうちのWebページからダウンロードできるので、そちらをお使いく
ださい(^_^;)
.libファイルは、VC++の標準ライブラリディレクトリにコピーしてください。
.hファイルは、VC++の標準インクルードディレクトリにコピーしてください。
(VC++5を標準設定でインストールした場合
Library -> "C:\Program Files\DevStudio\VC\lib"
Include -> "C:\Program Files\DevStudio\VC\include"
+Compiling your program
From MS-DOS prompt (事前に環境変数を設定しておく必要があります).
cl /D "WIN32" /D "_WINDOWS" (your source) impls32d.lib impulse2g.lib hotas32.lib aurora32.lib shawk32.lib kernel32.lib user32.lib gdi32.lib
From Developer Studio
- hotasrc.rcとhotasrc.icoをプロジェクトディレクトリにコピーします。
- 新しいプロジェクトを作ります。
- ソースファイルとhotasrc.rcをプロジェクトに追加します。
- linkの設定で次のライブラリを追加します。
impls32d.lib impulse2g.lib hotas32.lib aurora32.lib shawk32.lib
- Buildしましょう。.
(* OpenGLインプリメントを使うには、impls32d.libをimpls32o.libに入れ替え、
opengl32.libとglu32.libを追加する必要があります。)