smpegのコンパイル
ソースコード入手
smpegのページ(http://www.lokigames.com/development/smpeg.php3)
ソースの入手は(http://cefiro.homelinux.org/resources/files/smpeg/)の
(http://cefiro.homelinux.org/resources/files/smpeg/smpeg-0.4.4.tar.gz)から。
コンパイル方法
# tar xzvf smpeg-0.4.4.tar.gz
# cd smpeg-0.4.4
# ./autogen.sh
# ./configure --prefix=/usr/local --host=arm-apple-darwin9 --disable-gtk-player
# make
# make install
コンパイルを通すためにやったこと
1.MPEGaudio.h
MPEGaudio.cppで関数がスコープ内にないというエラーが出るので、
MPEGaudio.hの一番最後のあたりに
void Play_MPEGaudioSDL(void *udata, Uint8 *stream, int len);
int Play_MPEGaudio(MPEGaudio *audio, Uint8 *stream, int len);
#ifdef THREADED_AUDIO
int Decode_MPEGaudio(void *udata);
#endif
というプロトタイプを追加
2.ar
cygwinのar.exeを使うとうまく動作しない。本当はMakefileでarの定義をすればよいのだが、面倒だったので以下の荒業。
# cd /usr/bin
# mv ar.exe ar.exe_org
# ln -s /usr/local/bin/arm-apple-darwin9-ar ./ar
つまりarといえばarm-apple-darwin9-arを使うようにシンボリックリンクを張ってしまった。
3.frameworks
/usr/local/bin/arm-apple-darwin9-ld: can't locate framework for: -framework CoreSurface
というエラーが出る。Makefileにframeworkのパスを追加。
LIBSに
-F/usr/local/iphone-sysroot/System/Library/PrivateFrameworks
-framework QuartzCore -framework Foundation
を追加
次:liboggのコンパイル
前:SDLのコンパイル
TOPに戻る