お気に入りの動画を携帯で見ようスマートフォン専用ページを表示お気に入りの動画を携帯で見よう携帯動画変換君用に最新のFFmpegをビルドしてみる。最新版のFFmpegは、カテゴリの【FFmpegダウンロード】からどうぞ。プロフィール名前:あべちん職業:サラリーマン一言:B'zと櫻坂46のファンです。似顔絵は【似顔絵イラストメーカー】で作成しました。4.7をビルドします。4.7でコンパイルしたものでは互換性がないらしいです。4.7で、何かコンパイルしようとすると、cc1.exeがクラッシュします。4.7をビルドします。追記この記事を書いた当時、MinGW公式のGCCバイナリは4.6.xまでしかなかったのですが、現在はgcc-4.7.2のバイナリがあります。4.7のインストールは、省略して進めてください。MinGW環境についてGCCを自前でビルドしようという方は、MinGW環境もすでにあるという前提で、細かい説明は省略します。MinGW環境については、こちらもお読みいただくと参考になると思います。追記MinGWのmingwrtとw32apiの代わりに、MinGW-w64を使う方手順は、以下の記事を参照してください。インストールMinGW-w64をインストールすると、winpthreadsというPthreadsライブラリが使用できます。pthreads-w32と共存はできませんので、pthreads-w32に上書きします。winpthreadsのインストール手順は、以下の記事を参照してください。winpthreadsのコンパイル&インストール追加で、FlexとTexinfoをインストールします。インストール済みの場合は、あらためてインストールする必要はありません。以下のファイルを、C:\msys\1.0\に、解凍します。インストールした場合、MSYSの場所は、C:\MinGW\msys\1.0\になっているかもしれませんので、以下、読み替えてください。Windowsのbisonが応答しなくなって、固まる場合があります。その場合は、MSYSにbisonをインストールしてください。ライブラリのインストール以下のライブラリは、あらかじめインストールしておいてください。この時点では、まだPPLとCLooGはインストールしなくても良いです。最新版は、各ライブラリのページで確認してください。※pthreads-w32と共存できません。zlib-1.2.7libiconv-1.14gmp-5.1.1mpfr-3.1.2mpc-1.0.1必要なライブラリなどについては、こちらも参照してください。4.7のソースコードは、このページから適当なサーバを選んでダウンロードしてください。http://gcc.gnu.org/mirrors.htmlこの辺りから、http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-4.7.3/gcc-4.7.3.tar.bz2を、ダウンロードします。ファイルを適当な場所に保存して、解凍します。ソースコードとビルド用のディレクトリは、分けておいた方がよいと思います。私の場合は、こんな感じにしています。)MSYSでは、/usr/local/と/local/は同じディレクトリなので、どちらでも良いです。gcc-4.7.3.tar.bz2次に、make-temp-fileパッチmake-temp-file.diffを適用します。gcc-4.5.0用のパッチですが、そのまま使用します。4.7をビルドします。ビルド用のディレクトリ(/usr/local/src/build/)で、configureを実行します。--with-host-libstdcxx=-lstdc++」の代わりに、「--without-ppl」としています。4.7はgccとg++だけあれば良いので、「--enable-languages=c,c++」としています。--disable-bootstrapconfigureオプションについては、こちらを参照してください。--with-tune=athlon64などとすると良いかもしれません。--with-tune=nativeでも良いかもしれません。-mtune=i386がデフォルト値になります。configureが終了したら、makeします。追記CFLAGS_FOR_TARGETに「-DIN_WINPTHREAD」を追加しました。詳細は【補足】の説明をお読み下さい。1>out.logそのままmakeだけすると、デバッグシンボル入りの巨大なバイナリになってしまうため、フラグを変えています。メッセージをログに保存して、何か問題があった時に参照できるようにしています。installするのはちょっと危険です。私の場合、TDMさんだったか誰かのインストールスクリプトを参考に、以下のように、実行環境とは別のディレクトリにインストールしています。installMSYSから見ると、/develop/sandpit/dw2/mingw/実際のディレクトリは、C:\msys\1.0\develop\sandpit\dw2\mingw\に、インストールされます。4.7をインストールします。MinGW環境が「C:\MinGW\」の場合、以下のようにディレクトリごと上書きコピーします。4.7が使えるようになっているものとします。-v」で確認できます。4.7でコンパイルし直してから、インストールしてください。4.7をビルドします。4.7をビルドした時の中間ファイルは、削除しておきます。4.7のソースコードは、そのまま使用します。*」しないでくださいね。*またconfigureを実行します。--with-host-libstdcxx=-lstdc++」としています。gccとg++だけでも良いのですが、objcとobj-c++も追加して、「--enable-languages=c,c++,objc,obj-c++」としています。win32」になります。posix」になります。追記ppl-1.0以降、configureでPPLが見つけられないため、「--disable-ppl-version-check」を追加しました。installします。4.7と同じ手順です。4.7をMinGW環境にインストールします。/c/.以上で、終了です。installまでの流れは、けっこう時間がかかりますので、私はスクリプトで流しています。参考までに、こちらに置いておきます。※MinGW-w64とwinpthreadsが必要です。4.7をビルドし直せば完璧です。追記libgompで、winpthreadsのスタティックライブラリをリンクすると、こんなエラーが出ます。`_imp__pthread_mutex_unlock'(以下略)winpthreadsのヘッダファイル「pthread.h」に以下の記述があります。WINPTHREAD_API#endiflibgompをコンパイルする時のフラグに「-DDLL_EXPORT」が付いているせいで、winpthreadsの関数に「__declspec(dllimport)」が付けられるのがエラーの原因です。CFLAGS_FOR_TARGETに「-DIN_WINPTHREAD」を追加して、「__declspec(dllexport)」が選択されるようにしました。pthreads-w32の場合は、上記のような問題はありません。追記MinGWのmingwrtとw32apiの代わりに、MinGW-w64を使う方手順は、以下の記事を参照してください。インストールMinGW-w64をインストールすると、winpthreadsというPthreadsライブラリが使用できます。pthreads-w32と共存はできませんので、pthreads-w32に上書きします。winpthreadsのインストール手順は、以下の記事を参照してください。※pthreads-w32と共存できません。win32」になります。posix」になります。「--enable-threads=posix」用のスクリプトを追加しました。※MinGW-w64とwinpthreadsが必要です。追記gcc-4.7.1がリリースされました。各ライブラリのバージョンを修正しました。各ライブラリのバージョンを修正しました。追記ppl-1.0以降、configureでPPLが見つけられないため、「--disable-ppl-version-check」を追加しました。4.7用のスクリプトのconfigureオプションに、「--disable-ppl-version-check」を追加しました。※MinGW-w64とwinpthreadsが必要です。各ライブラリのバージョンを修正しました。追記gcc-4.7.2がリリースされました。追記gcc-4.7.3がリリースされました。各ライブラリのバージョンを修正しました。追記CFLAGS_FOR_TARGETに「-DIN_WINPTHREAD」を追加しました。詳細は【補足】の説明をお読み下さい。追記この記事を書いた当時、MinGW公式のGCCバイナリは4.6.xまでしかなかったのですが、現在はgcc-4.7.2のバイナリがあります。4.7のインストールは、省略して進めてください。追記ftp://ftp.dti.ad.jp/pub/lang/gcc/releases/にアクセスできなくなっているので、URLを変更しました。23:16蓄電さん、こんにちは。試しに、まっさらな状態からmingw-get-inst-20111118.exeでMinGWとMSYSをインストールして、手順通りやってみましたが、最後までビルドできました。cataloguesを選択。ToolKitにチェックしました。Flex、Texinfo、Bisonは自動でインストールされたので、手動で追加する必要はありませんでした。