libcdioを使用するとSEGVが発生し、エラー落ちすることがわかりました。
結果的には解決することができませんでした。
ただlibcdioを使用しなければエラー落ちしないので、組み込んだままにしておきます。
原因がFFmpeg側かlibcdio側かわかりませんが、バージョンアップすることで解決するかも知れません。それを期待して、そのままにしておきます。
外部ライブラリから外すことにしました。(2013-03-31 21:35)
2013年03月
MinGW:mpfr-3.1.2に更新
mpfrをバージョン3.1.2に更新し、コンパイラやランタイムなどをビルドしなおしました。更新したのは64bit版です。
それに伴いFFmpegの64bit安定版のバイナリもビルドしなおしました。
リンクは今までと変わりありません。
PS
外部ライブラリlibcdioを取り除いたバイナリをアップしなおしました。(2013-04-01 00:24)
1.2系
FFmpeg 1.2 "Magic"(x64)(7z) 6.85M
1.1系
FFmpeg 1.1.4 "Fire Flower"(x64)(7z) 6.33M
1.0系
FFmpeg 1.0.6 "Angel"(x64)(7z) 6.17M
0.11系
FFmpeg 0.11.3 "Happiness"(x64)(7z) 5.71M
FFmpeg:git最新版(2013/03/28)
git最新版のバイナリです。ffmpegとffplayを同梱しています。
ダウンロードは↓
32bit版
FFmpeg version N-51351-ge9d3b40(x86)(7z) 7.06M
64bit版
FFmpeg version N-51351-ge9d3b40(x64)(7z) 6.81M
FFmpeg:64bit安定版
64bit版の安定版のバイナリを更新しました。
ダウンロードは↓
PS
外部ライブラリlibcdioを外したバイナリにアップし直しました。
1.2系
FFmpeg 1.2 "Magic"(x64)(7z) 6.85M
1.1系
FFmpeg 1.1.4 "Fire Flower"(x64)(7z) 6.33M
1.0系
FFmpeg 1.0.6 "Angel"(x64)(7z) 6.17M
0.11系
FFmpeg 0.11.3 "Happiness"(x64)(7z) 5.71M
MinGW:gcc-4.7.2 コンパイルメモ
gcc-4.7.2のコンパイルメモです。
gmp, mpfr, mpc,binutilsおよびcloog,pplはインストール済みとします。「GCC 4.7のビルド お気に入りの動画を携帯で見よう」に詳しく書かれているので参考にします。
また「Windows x64用のクロスgcc - 七誌の開発日記」も参考にしています。
まずはgccのアーカイブを展開して、Failure when building mingw-w64-gcc-base (Page 1) / AUR Issues, Discussion & PKGBUILD Requests / Arch Linux Forumsを参考にパッチをあてます。
それから作業ディレクトリを作成します。
mkdir -p x86_64-pc-mingw32/gcc cd x86_64-pc-mingw32/gcc
といった感じ。
そしてCloogとPPLのバージョン検出が上手くいかないので、configureにパッチをあてます。
その後、configureの実行。
CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ../../gcc-4.7.2/configure --target=x86_64-pc-mingw32 --disable-nls --enable-cloog-backend=isl --disable-libstdcxx-pch --enable-clocale=gnu
次にmakeの前にgcc/Makefileを編集。PPLLIBSを探して、-lstdc++を追加する。そしてmake。gcc/Makefileがmake all-gccで作成されるので、作成されてからPPLLIBSに-lstdc++を追加する。(configureで--with-host-libstdcxx=-lstdc++と指定するのがいいらしい。)
CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib make all-gcc
そして「5.9. GCC-4.7.2 - 2回め」を参考にして、limits.hを作成。これは必要ないかも。
cat ../../gcc-4.7.2/gcc/limitx.h ../../gcc-4.7.2/gcc/glimits.h ../../gcc-4.7.2/gcc/limity.h > \ ./gcc/include-fixed/limits.h
コンパイラ部分のみのインストール。
make install-gcc
ヘッダのビルド
cd .. mkdir headers cd headers ../../mingw-w64-v2.0.7/mingw-w64-headers/configure --host=x86_64-pc-mingw32 --enable-sdk=all make make install cd ..
次にランタイムをビルドしてから、gccの残っている部分をビルド。
cd .. mkdir runtime cd runtime ../../mingw-w64-v2.0.7/configure --host=x86_64-pc-mingw32 --without-headers make make install cd ..
cd gcc make make install cd ../..
とりあえずのメモ。