menu_bar

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 します。




もどる


単純リンク・相互リンク 大歓迎です
ご意見、ご感想は、umeda@tele.ucl.ac.beまで
履歴書など TEL +32 10 47 80 74 (オフィス)