!!!MinGW+ffmpeg(4)LAME LAMEは言わずと知れたmp3エンコードライブラリ(&コマンド)だ。バージョンも3.97以降はなかなか更新されず、かなり''"枯れて"''きた感があり、安定している。 LAMEはnasmを使用してビルドすることで高速に動作するが、nasmでのビルドには[バグがあるらしく|http://arrozcru.no-ip.org/ffmpeg_wiki/tiki-index.php?page=mp3lame]、修正が必要だ。 libmp3lame/i386/Makefile.inを開き、 471:.nas.lo: $< nasm.h 472: test -d .libs || mkdir .libs 473: $(ECHO) '# Generated by ltmain.sh - GNU libtool 1.5 (1.1220 2003/04/05 19:32:58)' >$@ 474: $(ECHO) "pic_object='.libs/$*.o'" >>$@ 475: $(ECHO) "non_pic_object='$*.o'" >>$@ 476: $(NASM) $(NASMFLAGS) $< -o .libs/$*.o -l $@.lst の475行目を 471:.nas.lo: $< nasm.h 472: test -d .libs || mkdir .libs 473: $(ECHO) '# Generated by ltmain.sh - GNU libtool 1.5 (1.1220 2003/04/05 19:32:58)' >$@ 474: $(ECHO) "pic_object='.libs/$*.o'" >>$@ 475: $(ECHO) "non_pic_object='.libs/$*.o'" >>$@ 476: $(NASM) $(NASMFLAGS) $< -o .libs/$*.o -l $@.lst というようにnon_pic_objectに.libs/を追加する。 あとはコマンドを打つだけだ。 $ cd lame-3.97 $ ./configure --disable-shared --disable-frontend --enable-nasm $ make $ mkdir -p /mingw/include/lame $ cp include/lame.h /mingw/include/lame/ $ cp libmp3lame/.libs/libmp3lame.a /mingw/lib/ ヘッダファイルのインストール先が/mingw/include/lameと、includeの下にサブディレクトリがあることに注意。なお、MP1のサポートを有効にするなら./configureに--enable-decode-layer1を付けても良い。 次はいよいよpthread、そしてx264、ffmpegだ。 ここから先だけで何度やり直したか知れない…まさにキモだ。