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に戻る inserted by FC2 system