libvpxをWindows環境で使いたい。けど、今一つ手順が良く分からない。
libvpxを、Windows環境でソースからビルドする方法を記します。
Windows向けのビルド環境構築
libvpxは、ビルドの自動化をmakeによって提供しています。
Visual Studioを使用するオプションも提供されていますが、Windowsでmakeを実行できる環境を整える必要があります。
githubのREADMEでは、Cygwinをお勧めしていますが、ここでは最新のWindows 10ならではの方法で解決したいと思います。
Bash on Ubuntu on Windows
Anniversary Update以降のWindows 10であれば、Bash on Ubuntu on Windowsを導入することでbashを使うことができます。
(最近、Windows Subsystem for Linuxに名前が変わったそうです)
> sudo apt-get install make
Yasmのインストール
libvpxは、x86をターゲットにする場合はYasmを要求します。
yasmをここからダウンロードし、実行ファイルの名前を、yasm-<version>-<arch>.exe から yasm.exe に変更します。
これはVisual Studioのカスタムビルドによって参照されるため、パスの通った場所に置いておく必要があります。
(オプション)MSBuildのパスを通す
makeからlibvpxのビルドまでを行いたい場合は、MSBuildへのパスを通しておく必要があります。
makeによって生成されたプロジェクトファイルから、普段通りにビルドする場合は必要ありません。
Visual Studioのプロジェクトファイルを生成する
まずbashを立ち上げ、libvpxのディレクトリへ移動します。
ここでは、x86向けのディレクトリを作成し、その中にvs15向けのソリューションファイルとプロジェクトファイルを作成する手順を説明します。
プロジェクトファイルの生成にはconfigure
コマンドを使用します。
> mkdir x86
> cd x86
> ../configure --help
> ../configure --target=x86-win32-vs15 --disable-docs --disable-tools --disable-examples --disable-webm-io --disable-vp8-encoder --disable-vp9-encoder
オプションについては、必要であれば有効にしてください。
この時点で、ソリューションファイルを生成するためのMakefile
が作成されます。
> make
問題がなければソリューションファイルとプロジェクトファイルが出力された後に、MSBuildからビルドが開始されます。
x86_64や他のプラットフォームも同様の手順でビルド環境を用意できます。
PS4向けのビルド環境構築
PS4向けのvs15プロジェクトファイルの生成にはいくつかの手順が必要になります。
まず、x86_64向けに生成したプロジェクトファイルを開き、プロパティからPS4向けのツールチェインに変更します。
そして、threading.h
とvpx_thread.h
で、pthreadの定義を用意します。
これはPS4向けの専用APIを使用するか、pthreadライブラリをリンクする必要があります。
あとはWindows環境と同様です。