「aom が Windows 環境でビルドできないよー」と知人から言われたので、その answer としてのまとめです。
Windows 10 でビルドできた手順です。
本家の情報
AV1 Codec Library
Building the lib and applications にビルド手順が書いてありますが、その通りに実行してもうまくいかない場合があるようです。
必要なライブラリのインストール
- CMake version 3.5 or higher.
- 現在の最新版 CMake 3.11.2 を使いました。
- https://cmake.org/download/
- git
- あたらしめのやつで
- perl
- ActiveState Perl 5.24.3.2404 を使いました。
- https://www.activestate.com/activeperl/downloads
- バージョン 5.10.10 未満の場合 cmake が成功したかのように見えますが、よく見るとエラーが出ています。
-
aom_version.h
が生成されずビルドが失敗してしまう・・・
-
- nasm
- yasmでも良いらしいですが、インストーラー形式で配布されている nasm を選択しました。
- インストーラは「管理者で実行」しないと
c:\Program Files\NASM
にインストールできないので注意。 - https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/win64/
- 環境変数 PATH に、インストール作ディレクトリ
C:\Program Files\NASM
を追加します。
- Visual Studio 2015 Community (Express)
- 2015 は過去のバージョンのため、MSDNサブスクリプションか、無料の Dev Essentials の登録が必要です。
- Visual Studio Community (Express) 2015 の日本語版をダウンロードし、インストールします。
- https://www.visualstudio.com/ja/vs/older-downloads/
- インストール時のオプションで C++ を選択すること。
- Visual Studio 2017 では cl.exe の使用方法が変わっているらしく、うまくいきませんでした。
ビルド手順
適当な作業ディレクトリでソースコードを取得します。
$ git clone https://aomedia.googlesource.com/aom
aom\
にソースコードが取得できました。
aom\work
をビルド用のディレクトリとし cmake
します。
$ cd aom
$ mkdir work
$ cd work
$ cmake .. -DCONFIG_UNIT_TESTS=0
cmake
の実行でエラーが出た場合、そのエラーメッセージに応じて以下のようなオプションを追加するとうまくいったりします。
一度エラーが発生した場合には aom\work
の内容を全削除してから cmake
の再実行をしてください。
-DAOM_TARGET_CPU=generic
-DCMAKE_CXX_COMPILER="C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\cl.exe"
CMAKE_CXX_COMPILER
で指定するコンパイラが存在しない場合には、以下のページが参考になると思います。
- Visual Studio 2015をインストールしたのにcl.exeがないとき
cmake
が成功すると、aom\work
にソリューションファイル AOM.sln
と、プロジェクトファイルが多数生成されます。
AOM.sln
を Visual Studio で開き、ビルドすることができます。
デバッグする場合には「スタートアッププロジェクト」を変更します。
- エンコーダ
- aomenc
- デコーダ
- aomdec
謎
Win32 - Release でビルドするとコンパイラが落ちますが、謎。