SDLの開発環境作成方法
SDLの開発環境の作成方法を書いておきますので、改造してみたい、という人は試してみてください。
1.Cygwinのインストール
http://cefiro.homelinux.org/resources/doc/cygwin/install-01.html
インストール時にダウンロードするURLを選択しますが、適当なURLを選んでとりあえず全部のパッケージを入れましょう。
http://cefiro.homelinux.org/resources/doc/cygwin/install-01.html
インストール時にダウンロードするURLを選択しますが、適当なURLを選んでとりあえず全部のパッケージを入れましょう。
2.SDLのインストール
SDLでコンパイルするためには、CygwinにSDLのパッケージを入れる必要があります。
Cygwinのインストールをもう一度実行して、ダウンロードするURLに次を入力します。
http://cefiro.homelinux.org/resources/files
パッケージ一覧にSDLが存在します。SDLの中にあるパッケージは全部入れましょう。
SDL_mixerとSDL_gfxもこの中にあります。
SDLでコンパイルするためには、CygwinにSDLのパッケージを入れる必要があります。
Cygwinのインストールをもう一度実行して、ダウンロードするURLに次を入力します。
http://cefiro.homelinux.org/resources/files
パッケージ一覧にSDLが存在します。SDLの中にあるパッケージは全部入れましょう。
SDL_mixerとSDL_gfxもこの中にあります。
3.gfxがリンクできない場合
SDL_gfxの機能を使った場合に、コンパイルはできるけどシンボル名が違うのでリンクができないといわれる場合次の方法を試してください。
SDL_rotozoom.h の、
SDL_gfxの機能を使った場合に、コンパイルはできるけどシンボル名が違うのでリンクができないといわれる場合次の方法を試してください。
SDL_rotozoom.h の、
ifdef WIN32#ifdefBUILD_DLL#defineDLLINTERFACE __declspec(dllexport)#else #defineDLLINTERFACE __declspec(dllimport)#endif #else #defineDLLINTERFACE#endif
この辺が原因です。
ようは、DLL として作ってないのに、i#fdef のせいで DLL エクスポート(インポート)されています。
なので、上の部分をガッツリ削って、
#define
ようは、DLL として作ってないのに、i#fdef のせいで DLL エクスポート(インポート)されています。
なので、上の部分をガッツリ削って、
DLLINTERFACE
だけにすれば解決します。
SDL_rotozoom.hはCygwinをインストールしたフォルダのどこかに入ってます。
だけにすれば解決します。
SDL_rotozoom.hはCygwinをインストールしたフォルダのどこかに入ってます。
4.パスを設定する
DOS窓からコンパイルする時はCygwinのパスを設定する必要があります。
私は以下の内容のバッチファイルを作成してmakeしています。
ここではCygwinのインストール先はd:\cygwinとなっています。
set path=path+;d:\cygwin\bin;D:\cygwin\usr\local\mingw32\bin
make
DOS窓からコンパイルする時はCygwinのパスを設定する必要があります。
私は以下の内容のバッチファイルを作成してmakeしています。
ここではCygwinのインストール先はd:\cygwinとなっています。
set path=path+;d:\cygwin\bin;D:\cygwin\usr\local\mingw32\bin
make
5.makefileの編集
SDL_gfxを使う場合はそのままだとリンクされていないので、makefileを編集する必要があります。
sdl-config --libsにするとディフォルトのライブラリがリンクされますが、これにSDL_gfxは含まれないので、自分でリンクするライブラリを書きます。
#LDFLAGS
SDL_gfxを使う場合はそのままだとリンクされていないので、makefileを編集する必要があります。
sdl-config --libsにするとディフォルトのライブラリがリンクされますが、これにSDL_gfxは含まれないので、自分でリンクするライブラリを書きます。
= `sdl-config --libs`
LDFLAGS = -L/usr/local/mingw32/lib -logg -lvorbis -lvorbisenc -lvorbisfile -lsmpeg -lmingw32 -lSDL_gfx -lSDL_mixer -lSDLmain -lSDL -mwindows -mno-cygwin
LDFLAGS = -L/usr/local/mingw32/lib -logg -lvorbis -lvorbisenc -lvorbisfile -lsmpeg -lmingw32 -lSDL_gfx -lSDL_mixer -lSDLmain -lSDL -mwindows -mno-cygwin
これでWindows用の実行ファイルが作れるはず。
SDLで作成したコードは、それぞれのプラットホームのSDL開発環境があればmakefileを書き直すだけで実行ファイルが作れます。
SDLで作成したコードは、それぞれのプラットホームのSDL開発環境があればmakefileを書き直すだけで実行ファイルが作れます。
- ソースファイルへのリンク
がんなつポータブル
GP2X版ですが、上記の環境とmakefileを書き直せばWindowsでの実行ファイルが作成できます。
DashBoader
SDLで作られたWindows用ゲームです。ソースコードも配布していただいてるので参考になると思います。
GP2X版ですが、上記の環境とmakefileを書き直せばWindowsでの実行ファイルが作成できます。
DashBoader
SDLで作られたWindows用ゲームです。ソースコードも配布していただいてるので参考になると思います。