本日は Blender の技術調査です。
前回記事ではバージョン 2.8 の Blender をビルドすることができました。
今回はビルド設定を変更し、Blender を Python のモジュールとしてビルドする手順を記事にします。
前回記事の続きです。
bluebirdofoz.hatenablog.com
ビルド設定の変更
CMake にて[Configure]を実行するところまでの手順は同じです。前回記事を参照ください。
Blender を Python 用モジュールとしてビルドするには以下の設定を変更します。
WITH_OPENCOLLADA=OFF WITH_PYTHON_INSTALL:OFF WITH_PYTHON_MODULE:ON
この状態で[Generate]をクリックします。
Generate が完了したら、[Generating done]が表示されます。
これでプロジェクトファイルの作成が完了しました。
WITH_OPENCOLLADAの設定項目について
WITH_OPENCOLLADA の OFF について、2019/9/26現在、本項目が ON だとビルド時に以下のエラーが発生します。
6>xml.lib(threads.obj) : error LNK2005: DllMain は既に LIBCMT.lib(dll_dllmain_stub.obj) で定義されています。 6> ライブラリ D:/WORK/BlenderBuild_Target2.8/buildforpython-2.80/lib/Release/bpy.lib とオブジェクト D:/WORK/BlenderBuild_Target2.8/buildforpython-2.80/lib/Release/bpy.exp を作成中 6>D:\WORK\BlenderBuild_Target2.8\buildforpython-2.80\bin\Release\bpy.pyd : fatal error LNK1169: 1 つ以上の複数回定義されているシンボルが見つかりました。
Blenderのビルド
指定したバイナリの保存ディレクトリを開くと、sln ファイルが生成されています。
sln ファイルを開き、プロジェクトの読み込みが完了するまで待ちます。
今回は Release ビルドを試してみます。[Debug]の欄を[Release]に変更します。
メニューから ビルド -> ソリューションのビルド を実行します。
ビルドが完了したら bin ディレクトリに bpy.pyd ファイルが出力されます。
次に INSTALL をターゲットにビルドを実行します。
INSTALL は Blender.exe が利用する DLL などをコピーします。
SVN ライブラリを更新した際は必ずこの手順を行うようにします。
bin ディレクトリに DLL がコピーされました。これでビルド成功です。
次は作成した Blender のモジュール(bpy.pyd)を Python へ組み込んでみます。
bluebirdofoz.hatenablog.com