MSYS MinGW gcc3.4.5でffmpegコンパイル
猫科研究所さんのサイトを参考にしながらffmpegをコンパイルしてみる。その1, その2からのつづき。
[MinGW+ffmpeg(7)ffmpegのビルド]を見ながら、本題であるffmpegコンパイルを行った際に引っかかった箇所を記述する。
まず、現在のconfigureの記述には、pthreadGC2の記述が含まれており、全く考慮されていないわけでは無さそうだった。どのように変更を加えればわからなかったのだが、とりあえずwsock32を追加した。
2004,2005c2004,2005
< elif check_func pthread_create -lpthreadGC2; then
< add_extralibs -lpthreadGC2
---
> elif check_func pthread_create -lpthreadGC2 -lwsock32; then
> add_extralibs -lpthreadGC2 -lwsock32
libx264の箇所は、記載されている通りに修正した。
次に、configureのオプションだが、--enable-liba52 と --enable-swscaleは無くなっている様だった。webを検索してみると、どうも現在ではデフォルトで有効になっているらしい。
3点目。これもconfigure実行時になるが、configureが正常終了しなかった。出力されたconfig.errファイルを見てみると、faad.h: No such file or directoryというエラーが出力されていた。そこで、環境変数C_INCLUDE_PATHにC:\msys\1.0\mingw\includeを追加した。冒頭サイトの手順で進めて行った場合、このディレクトリには今までコンパイルしたライブラリのヘッダが格納されていることになる。
4点目。make実行時、make: *** No rule to make target `libpostproc/libpostproc.a', needed by `all'. Stop.というエラーが発生した。これは、makeのバージョンを上げることで対応できる。MSYSのCurrent ReleaseであるVersion1.0.10にあるmakeはVersion3.79であるが、MSYS1.0.11の3.81(make-3.81-MSYS-1.0.11-2.tar.bz2)に入れ替える。
5点目。make時にC:/msys/1.0/mingw/include/sched.h:152: error: syntax error before "pid"のエラー。pthreads-w32のヘッダの誤りということらしく、こちらのサイトにあるパッチ(Pthreads-w32-2-8-0.diff)を当てることで解消できる。
以上で、ffmpegはビルドできた。
問題点として、pthreadGC2について、前述のパッチを当てることでコンパイル済みのpthreadGC2をリンクすることができたが、パッチを当てると、ptheadGC2自体のコンパイルが行えない、というものがある。
どうも、現在において、ffmpegをビルドするにはこの環境は古いように思われる。MSYSやgccのバージョンを上げて(暇があれば)再度試してみようと思う。
最新のバージョンが欲しいと思った場合でも、Automated Unofficial FFmpeg Win32 Buildsでバイナリが手に入るので、自分でビルドする必要はあまり無いのかな、とも考えたりした。ここにあるstatic-howtoは、configureやmakeのオプション、必要なパッチなどが書かれているため、手動でビルドする際にも役立つかもしれない。
« Portable Ubuntu for Windowsでお手軽Linux環境を実現する | トップページ | TortoiseHgのテーマを変更する »
コメント
この記事へのコメントは終了しました。
« Portable Ubuntu for Windowsでお手軽Linux環境を実現する | トップページ | TortoiseHgのテーマを変更する »
はじめまして。
最近立ち上げた私のブログでもffmpegやmencoderなどのビルド方法を解説しております。
もしよろしければ併せてごらんいただけたら幸いです
投稿: i43z | 2009/05/17 09:58
i43zさんこんばんは。
少し拝見させて頂きました。
私が知らないライブラリのビルド方法も解説されており、
こちらを参照しながら、また新しいビルドを行ってみたいと思います。
ffmpeg、かなり速いスピードで変更が加わっているので、
ビルド方法にしても、webに書かれている情報がすぐ実際とそぐわなくなってしまってますよね…色んなサイト検索してみて実感しました。
ご連絡ありがとうございます。
投稿: 雪羽 | 2009/05/18 01:03