x264 の 64bit バイナリを Windows 上でビルドする 2017
2021/02/11 追記
昨秋あたり移行、エンコード時にエラーを出すようになった!という場合は以下参照で。デフォルト文字コードが変更になってます。
x264 UTF-8になったとかそんなところのメモ - ..たれろぐ..
msys2 の準備
展開した先の mingw64.exe を実行する。
ビルドに必要なパッケージのインストール時に 32bit版(i686) gccではなく、64bit版(x86_64)のgcc を指定する。
$ pacman -S git make tar automake autoconf libtool pkg-config mingw-w64-x86_64-gcc
nasm のビルド&インストールと GPAC のビルド
nasm, GPAC それぞれで configure 時の prefix 指定を mingw32 → mingw64 に変更。
$ ./configure --prefix=/mingw64
もし、先に 32bit 版をコンパイルしていた場合は、
$ make clean
で掃除してから make し直すこと。
x264 のビルド
configure 時の host オプションを i686-w64-mingw32 → x86_64-w64-mingw32 に変更。
--extra-ldflags="-static -static-libgcc" オプションを追加。
(--extra-ldflags オプションを付けないと cmd.exe 上での実行時に標準出力にメッセージ類が出なくなる)
$ ./configure --extra-cflags="-pipe -march=native" --extra-ldflags="-static -static-libgcc" --enable-strip --host=x86_64-w64-mingw32 platform: X86_64 ここが X86_64 になっているか確認 byte order: little-endian system: WINDOWS cli: yes libx264: internal shared: no static: no asm: yes interlaced: yes avs: avisynth lavf: no ffms: no mp4: gpac gpl: yes thread: win32 opencl: yes filters: crop select_every lto: no debug: no gprof: no strip: yes PIC: no bit depth: 8 chroma format: all You can run 'make' or 'make fprofiled' now.
これで make すると 64bit の x264.exe が作成されます。
本当に 64bit バイナリかどうかを調べる場合は以下参照で。
Windows 実行ファイルが32ビットか64ビットか確認する方法 - Qiita