Linux and Windows cross compile install (SDL)
GCC の クロスコンパイラができたので、次に SDL を 入れてみます。
DirectX を 直接たたいてもいいのですが、やりかたが よくわからなかったので、
SDL を インストールしてみました。
これなら、linux用に 作ったものでも、windows で うごくっす。
1. SDL の 入手
2. SDL の コンパイル & インストール です。
さて、ここで、コンパイル & インストールですが、やり方が 2種類あります。
mingw32 用に すでに 出来上がっているのを とってくるか、
ソースから コンパイルするという方法 です。
まずは、すでに 出来上がっている方法から...
これは 簡単です。
例えば、SDL-devel-1.2.3-mingw32.tar.gz を とってきて
解凍します。
その中に、 i386-mingw32msvc.tar.gz というのがあるので、それを 解凍します
その中に、lib と include の dir が できていますので、パスの通っているところ
例えば、/usr/local/mingw32/i386-mingw32/include(lib) などに コピーすれば
できあがり。(^^)v (ー> テストプログラムの作り方に飛ぶ)
ソースファイルから作成する場合は、
まず、SDL-1.2.3.tar.gz を とってきます。
そして、解凍して、 dir の 中で、
configure するだけ!!
./configure --host=i386-mingw32 --prefix=/usr/local/mingw32/i386-mingw32 --enable-video-opengl=no
ちなみに、うめぷのには、OPENGL を 入れていませんので、no にしてありますが、
入っている人であれば、これは 必要ありません。
また、OPENGL が ない人は、src/SDL_sysvideo.h 43行目
#define HAVE_OPENGL
を コメントアウトしないとコンパイルが通りません。
すぐに わかると思います。
=================
テストプログラムの作り方
さて、どちらの やり方にしても、sdl.lib が できて sdl.dll が できている
と思います。 確認のために、test の プログラムをコンパイルしてみましょう。
test dir に 入って
./configure --host=i386-mingw32
と 実行します。
次に、makefile の 編集です。
94行目
LIBS = -L/usr/local/lib -Wl,-rpath,/usr/local/lib -lSDL -lpthread
と なっているのを
LIBS = -lmingw32 -lSDLmain -lSDL
と 変更します。
注意!! この SDLmain の 場所 を 間違えると、コンパイルできません。
さて、これで コンパイル完了です。
あと、実行するには、mv hoge hoge.exe
と してやらないと、ウィンドウズで 実行できませんので あしからず。
追記: ソースから 作った場合 fprintf(stderr,,,, と 書いてある部分の表示が
でてきません。 なんでか わかりませんが、、、(^^;;;
また、解決方法がわかれば、up します。
もどる