SDL_mixerのコンパイル

ソースコード入手

SDL_mixer のページ (http://www.libsdl.org/projects/SDL_mixer/) から
SDL_mixer-1.2.11.tar.gz (http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-1.2.11.tar.gz) を取得。

コンパイル方法

# tar xvfz SDL_mixer-1.2.11.tar.gz
# cd SDL_mixer-1.2.11
# ./autogen.sh
# ./configure --prefix=/usr/local --host=arm-apple-darwin9 --disable-music-native-midi --enable-shared=no --enable-music-ogg-tremor --enable-music-mp3-mad-gpl
# make
# make install

コンパイルを通すためにやったこと

1.enable-shared
enable-sharedをnoにしないとFrameworkのリンクが通らない。configureのパラメータに--enable-shared=noをつけた。

2.frameworks
/usr/local/bin/arm-apple-darwin9-ld: can't locate framework for: -framework CoreSurface
というエラーが出る。Makefileにframeworkのパスを追加。
SDL_LIBSに
-F/usr/local/iphone-sysroot/System/Library/Frameworks \
-F/usr/local/iphone-sysroot/System/Library/PrivateFrameworks \
-framework QuartzCore -framework Foundation -lstdc++
を追加

3.libmad, libvorbisidecの対応
onscripter-20100625よりmp3,oggの再生がSDL_mixer経由になったので、libmad, libvorbisidec(tremor)の対応を行うが、なぜかconfigureでライブラリが認識できず。configureファイルの中を見ながら手動でMakefileを書き換え。。。
EXTRA_CFLAGSに"-DOGG_MUSIC -DOGG_USE_TREMOR -DMP3_MAD_MUSIC"を追加
"-DMP3_MUSIC"を削除(これをしないとMP3再生で落ちる)
EXTRA_LDFLAGSに"-lvorbisidec -lvorbis -logg -lmad"を追加
OBJECTSに"$(objects)/dynamic_ogg.lo $(objects)/load_ogg.lo $(objects)/music_ogg.lo $(objects)/music_mad.lo"を追加

$(objects)/dynamic_ogg.lo: ./dynamic_ogg.c
$(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@
$(objects)/load_ogg.lo: ./load_ogg.c
$(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@
$(objects)/music_ogg.lo: ./music_ogg.c
$(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@
$(objects)/music_mad.lo: ./music_mad.c
$(LIBTOOL) --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@

の4行を追加。

次:libjpegのコンパイル

前:libvorbisidecのコンパイル

TOPに戻る inserted by FC2 system