MRが楽しい

MRやVRについて学習したことを書き残す

Blenderのビルド手順 その3(バージョン 2.79b のビルド)

本日は Blender の技術調査です。
2019/7/3現在、最新のソースコードから Blender をビルドすると 2.8 の Blender がビルドできました。
今回はバージョン 2.79b の Blenderソースコードからビルドする手順を記事にします。
f:id:bluebirdofoz:20190707190104j:plain
前回記事の続きです。
Blenderのビルド手順 その2(Blenderコンパイル
bluebirdofoz.hatenablog.com

バージョン 2.79b のソースコードの取得

2019/7/3現在、公式のダウンロードページからバージョン 2.79b のソースコードをダウンロード可能です。
www.blender.org

[macOS, Linux, and other vesions]のプルダウンから[Source Code]をクリックします。
これでバージョン 2.79b で利用されているソースコードを取得できます。
f:id:bluebirdofoz:20190707190125j:plain

ダウンロードした tar.gz ファイルを解凍すると、ソースコードディレクトリが展開されます。
f:id:bluebirdofoz:20190707190140j:plain

ライブラリは SVN から取得する必要があります。
これでバージョン 2.79b のソースコードは 64bit 向けビルドの場合 lib\win64_vc12 のライブラリを参照します。
lib\win64_vc12 のディレクトリは最新のリビジョンでは既に削除されています。
f:id:bluebirdofoz:20190707190150j:plain

リビジョン 62073 以前のリビジョンから lib\win64_vc12 のライブラリを取得します。
f:id:bluebirdofoz:20190707190158j:plain

VisualStudio2013のインストール

バージョン 2.79b では VisualStudio2013 のビルドツールが必要なようです。
過去の VisualStudio をインストールする場合は以下のページからインストーラを取得します。
visualstudio.microsoft.com
f:id:bluebirdofoz:20190707190222j:plain

過去バージョンの取得には Visual Studio Dev Essentials への登録が必要になります。
visualstudio.microsoft.com
f:id:bluebirdofoz:20190707190239j:plain

登録後、2013 のインストーラを取得してインストールを行います。
f:id:bluebirdofoz:20190707190250j:plain

プロジェクトファイルの生成

CMake を起動します。
[Where is the source code:]に展開したソースコードディレクトリ(/blender-2.79b)を指定します。
[Where to build the binaries:]にバイナリの保存ディレクトリを指定します。
この状態で[Configure]をクリックします。
f:id:bluebirdofoz:20190707190309j:plain

プロジェクト設定の選択画面が表示されます。
バージョン 2.79b のプロジェクトは Visual Studio 2013 を選択します。
Windows 64bit 環境での利用になるので platform には x64 を指定します。
(Win32 向けビルドを行う場合は 32bit 向けライブラリのダウンロードが必要です)
[Finish]をクリックします。
f:id:bluebirdofoz:20190707190438j:plain

Configure が完了したら、次に[Generate]をクリックします。
f:id:bluebirdofoz:20190707190450j:plain

これでプロジェクトファイルの作成が完了しました。
f:id:bluebirdofoz:20190707190503j:plain

Blenderのビルド

指定したバイナリの保存ディレクトリを開くと、sln ファイルが生成されています。
f:id:bluebirdofoz:20190707190514j:plain

sln ファイルを開き、プロジェクトの読み込みが完了するまで待ちます。
読込が完了したらメニューから ビルド -> ソリューションのビルド を実行します。
f:id:bluebirdofoz:20190707190526j:plain

このとき、筆者環境ではエラーが発生しました。

error C2001: newline in constat
...(以下略)

blender-2.79b\source\blender\makesrna\intern\rna_wm.c におけるマルチバイト文字のエラーです。
f:id:bluebirdofoz:20190707190536j:plain

対応策として rna_wm.c を BOM 付きの UTF-8 形式のテキストに再保存を行いました。
f:id:bluebirdofoz:20190707190554j:plain

こちらで再ビルドを実施したところ、正常にビルドが完了し bin ディレクトリに exe ファイルが出力されました。
f:id:bluebirdofoz:20190707190606j:plain

次に INSTALL をターゲットにビルドを実行します。
INSTALL は Blender.exe が利用する DLL などをコピーします。
SVN ライブラリを更新した際は必ずこの手順を行うようにします。
f:id:bluebirdofoz:20190707190615j:plain

bin ディレクトリに DLL がコピーされました。
f:id:bluebirdofoz:20190707190635j:plain

blender.exe を実行して Blender が起動することを確認します。
f:id:bluebirdofoz:20190707190644j:plain

次はビルドの設定を少し変更して Blenderpython のモジュールとしてビルドしてみます。
bluebirdofoz.hatenablog.com