Show page source of build-on-windows #65372

= Windowsでの!HandBrakeのビルド方法 =

このページでは、Windowsで!HandBrakeをビルドする方法を解説している。基本的には本家Wikiページの[http://trac.handbrake.fr/wiki/CompileOnWindows CompileOnWindows]に準じているが、一部本プロジェクトで確認したものに変更している。

== ビルドに必要な環境 ==

 * cygwin (http://www.cygwin.com/ )
 * Visual C# 2008 Express Edition(http://www.microsoft.com/japan/msdn/vstudio/express/ )
 * NSIS(Nullsoft Scriptable Install System)(インストーラ作成に必要。http://nsis.sourceforge.net/Main_Page )
    * [http://sourceforge.jp/projects/sfnet_nsis/ sf.jp内ミラー]
=== cygwinの環境設定

cygwinで下記のツールをインストールしておく。

 * autoconf
 * automake
 * binutils
 * bison
 * byacc
 * bzip2
 * cygutils
 * diffutils
 * gcc
 * gcc-core
 * gcc-g++
 * libbz2-devel
 * libtool
 * make
 * nasm
 * patchutils
 * patch
 * perl
 * subversion
 * unzip
 * wget
 * zip

また、本家解説ではgmpとmpfr、gcc4を自前でコンパイルしているが、これらもcygwinでインストール可能なのでcygwinでインストールする(gcc4は無くてもコンパイルできるかも)。

=== Visual C# 2008 Express Editonの環境設定

GUIのコンパイルに必要。MSのサイトからダウンロード→適当にセットアップ。特に設定は不要。

== コンパイルに必要なそのほかのツールの導入

 * Yasm (http://www.tortall.net/projects/yasm/wiki/Download)
 * Jam (ftp://ftp.perforce.com/jam/)

それぞれ最新版をダウンロード・展開して
{{{
$ ./configure
$ make 
$ make install
}}}
でインストール可能。

== ライブラリ/コマンドライン版のコンパイル


!HandBrakeのトップディレクトリで
{{{
$ make
}}}
を実行。途中で「jamが実行できない!」との旨が表示されて止まるので、今度はcontribディレクトリで先にインストールしたjamを実行。
{{{
$ cd contrib
$ jam
}}}
これで必要なライブラリがビルドされる。時間がかかるので注意。完了したら再度HandBrakeのトップディレクトリで
{{{
$ make
}}}
を実行。!HandBrakeCLI.exeがビルドされる。!HandBrakeCLI.exeの実行にはcygwinのランタイムが必要なので注意。


ビルドに失敗する場合、PATH環境変数などの関係でcygwinではなくVisual C#/C++のツールが呼び出されている可能性があるので要確認。

== Windows版GUIのビルド

VC#でwin/c#/HandBrakeCSを開いてビルド。GUI版exeファイルと同一のディレクトリに!HandBrakeCLI.exeが存在する必要あり。また、当然ながら実行には.NET Framework 2.0のランタイムが必要。

=== version 0.9.5以降での注意点

0.9.5からはプロジェクトファイルを開くために[http://stylecop.codeplex.com/ StyleCop]が必要となりました。Visual Studio 2010(含むExpress)の場合、4.4.0RTW以上をダウンロードしてインストールしておく必要があります。また、ビルドの際に[http://subversion.apache.org/ Subversion]も必要となります(コンパイル時にsubwcrevコマンドを呼び出しているため)。

== インストーラの作成

C:\Dev\HandBrake\handbrake-jp\win\C#\Installer\Installer.nsiを編集、NSISでコンパイルする。Installer.nsiの文字コードはCP932である点に注意。

 1. win\C#\Installerディレクトリに「handbrakepineapple.ico」をコピー
 2. win\C#\Installerディレクトリにビルドして生成されたファイル一式とHandbrakeCLI.exe一式をコピー
 3. Installer.nsiをコンパイルする

圧縮には「solid LZMA」がもっともファイルサイズが小さくなる模様。