ソースに絡まるエスカルゴ

貧弱プログラマの外部記憶装置です。

OpenToonzの環境構築手順(Windows版)

※手順が間違っていたので修正しました(2016/03/29更新)

先日、スタジオジブリも使っていた(という触れ込みの)OpenToonzという無料のオープンソースソフトウェアが公開されました。
opentoonz.github.io

ソースはgithubに公開されており、誰でも自由に開発することが可能となっています。

「アニメーション作成ツールがタダで、しかも自分で開発もできる!」という純粋な気持ちでgithubにあるWindows向け環境構築のところにいくと、

github.com


……はい、システム開発をやったことのない人は、これだけで大きな志は打ち砕かれると思います。

また手順もわかりにくかったりするので、一応は環境構築ができた自分の手順を補足しつつ紹介していきます。上記の公式の手順と合わせて見ていただくとわかりやすいかと思います。
(というか、これ需要あるんでしょうかね……)

では、環境構築に半日費やしてもいいぞ! というやる気のある方のみ先をお読みください。


1:Visual Studio 2013をインストールする
公式の手順にもあるVisual Studio Express 2013 for Windows Desktopをインストールします。
https://www.microsoft.com/ja-jp/download/details.aspx?id=44914

自分の場合はすでにインストールしていたのであまり覚えてはいませんが、
基本デフォルトのまま次へを押していけば良かったと思います。


2:CMakeをインストールする
リンクの先にある「cmake-3.5.1-win32-x86.msi」をダウンロードし、インストールします。
https://cmake.org/download/


3:gitをインストールする
リンク先にあるサイトからDownloadをクリックして、ダウンロードしたexeを起動してgitをインストールします。
git-for-windows.github.io

次に以下から自PCが32bitか64bitかを選択して対象の方をダウンロードしてインストールします。

インストール終了後、同じページのLanguageからJapaneseを選び、32bitか64bitかを選択してダウンロードしてインストールし、日本語化します。
https://tortoisegit.org/download/

この辺りについてはこちらを参考にするとわかりやすいです。
www.backlog.jp


4:Cドライブ直下にOpenToonzのクローンを作成する
・始めにCドライブフォルダを開きます。
Windows(C:)をダブルクリックしたところです。

・右クリックしてGitクローン(複製)をクリックします。

・出てきたダイアログのURLのところに以下のページのHTTPSのとなりにあるアドレスをコピペします。するとディレクトリのところが「C:\opentoonz」に変更されるので、その状態でOKをクリックします。

これでクローンが開始されるので、終了までしばらく待ちます。

gitのクローンのやり方はこちらを参考にするとわかりやすいです。
www.backlog.jp


5:Qtをインストールする
以下から「qt-opensource-windows-x86-msvc2013_64-5.5.1.exe」を選択してダウンロードし、インストールします。
http://download.qt.io/official_releases/qt/5.5/5.5.1/
※各パスはデフォルトのままが推奨です。


6:boostをインストールする
以下から「boost_1_55_0.zip」をダウンロードして解凍します。
http://www.boost.org/users/history/version_1_55_0.html

解凍したフォルダ(boost_1_55_0)を「C:\opentoonz\thirdparty\boost」に丸ごとコピーします。


7:プログラムの一部を書き換える
公式の手順では「Visual Studio 2013用の下記のパッチを当てます」とありますが、リンク先にはソースが書いてあるだけでパッチの当て方がわかりませんでした。(わかる方は教えていただけると幸いです)

よって、実際にファイルを開いて赤い部分を削除し、緑の部分を追加というようにプログラムを書き換えました。
ちなみに該当ファイルは以下の場所にあります。

C:\opentoonz\thirdparty\boost\boost_1_55_0\boost\intrusive\detail\has_member_function_callable_with.hpp


書き換えるのが不安な方は以下のファイルをダウンロードした後、該当ファイルを上書きしてください。
www.dropbox.com


8:CMakeでVisual Studioのプロジェクトを生成する
この部分については公式の手順通りで問題ないと思います。
CMakeの使い方は以下の「Windowsの場合:」を参考にしてください。
http://www.wakayama-u.ac.jp/~chen/cmake/cmakecxx.html

プロジェクトの作成に成功すると「Where to build the binaries」で指定したフォルダに色々とファイルやフォルダができます。
作成された中に「OpenToonz.sln」というファイルが存在していれば問題ないと思います。

※ここでは「Where to build the binaries」に以下のフォルダを設定しています。今後パスなどに同様のフォルダが出てきた場合はプロジェクトを作成したフォルダという意味に読み替えてください。

C:/opentoonz_build

9:ライブラリの設定(ファイルのコピー&リネーム)
公式の手順だけだと一瞬戸惑いますが、要は
・左側に書いてあるファイルをコピーする
・コピーしたファイルをリネームする
・リネームしたファイルを右側のパスに配置する
ということです。表にするとこんな感じです。

コピー元ファイル リネーム名 配置先フォルダ
$opentoonz/thirdparty/LibJPEG/jpeg-9/jconfig.vc jconfig.h $opentoonz/thirdparty/LibJPEG/jpeg-9/
$opentoonz/thirdparty/tiff-4.0.3/libtiff/tif_config.vc.h tif_config.h $opentoonz/thirdparty/tiff-4.0.3/libtiff/
$opentoonz/thirdparty/tiff-4.0.3/libtiff/tiffconf.vc.h tiffconf.h $opentoonz/thirdparty/tiff-4.0.3/libtiff/
$opentoonz/thirdparty/libpng-1.6.21/scripts/pnglibconf.h.prebuilt pnglibconf.h $opentoonz/thirdparty/libpng-1.6.21/


10:ビルド
・$opentoonz/toonz/build/OpenToonz.slnをダブルクリックするとVisual Studioが立ち上がります。画面下にincludeファイル読み込みの状況が表示されますが「準備完了」の表示になるまでしばらく待ちます。

・「準備完了」の表示になったら、メニューからビルド(B) -> 構成マネージャを選択します。

・アクティブソリューション構成のプルダウンをReleaseに変更して「閉じる」をクリックします。

・メニューからビルド(B) -> ソリューションのビルドを選ぶとビルドが開始されます。

※CPUの処理速度によりますがビルドにはかなり時間がかかるため、最低30分は覚悟しておいてください。また警告が2000件ぐらい出ると思いますが、気にしてはいけません。


11:コマンドプロンプトでコマンドを入力する
ビルドが正常終了した後、Windowsキー+Rのショートカットで「ファイル名を指定して実行」を呼び出します。名前に「cmd」と入力してOKをクリックするとコマンドプロンプトが立ち上がります。

次にQtのwindeployqt.exeがあるフォルダに移動します。

Qtがデフォルト設定でインストールされている場合は以下のコマンドを入力してエンターキーを押下します。(コピペでコマンドプロンプトに貼り付けてエンターキーを押下します)

cd C:\Qt\Qt5.5.1\5.5\msvc2013_64\bin

次にビルドして出来たOpenToonz_1.0.exeまでのパスを引数にしてwindeployqt.exeを実行します。
(ビルドした場所から移動させてない場合は以下のコマンドを入力してエンターキーを押下します)

windeployqt.exe C:\opentoonz_build\Release\OpenToonz_1.0.exe

実行後、ビルドしたフォルダ内にbearerなどのいくつかの新しいフォルダが作成されます。


12:DLLファイルをコピーする
公式の手順の通りにglut64.dll、glew32.dllをOpenToonz_1.0.exeと同じフォルダにコピーします。

$opentoonz/thirdparty/glut/3.7.6/lib/glut64.dll
$opentoonz/thirdparty/glew/glew-1.9.0/bin/64bit/glew32.dll


13:stuffフォルダをコピーする
公式の手順の通りに$opentoonz/stuffを適当な場所にコピーします。
ここではOpenToonz_1.0.exeと同じ場所(C:\opentoonz_build\Release)にstuffフォルダをコピーします。


14:レジストリキーを作成する
Windowsキー+Rのショートカットで「ファイル名を指定して実行」を呼び出します。名前に「regedit」と入力してOKをクリックするとレジストリエディタが立ち上がります。

「HKEY_LOCAL_MACHINE」の左の矢印をクリックして展開します。
展開された中にある「SOFTWARE」を選択した状態で右クリックをして
 新規 -> キー
を選択します。
すると「新しいキー#1」が作成されるので名前を「OpenToonz」に変更します。

作成した「OpenToonz」を選択した状態で再び右クリックをして
 新規 -> キー
を選択します。
新しくできたキーの名前を「OpenToonz」に変更します。

作成した二つ目の「OpenToonz」を選択した状態で再び右クリックをして
 新規 -> キー
を選択します。
新しくできたキーの名前を「1.0」に変更します。

作成した「1.0」を選択した状態で右クリックをして
 新規 -> 文字列値
を選択します。
「新しい値#1」が作成されるので名前を「TOONZROOT」に変更します。

作成した「TOONZROOT」を選択した状態で右クリックをして修正を選択します。
値のデータの部分に13でコピーしたstuffのパスを設定します。

「C:\opentoonz_build\Release」にstuffをコピーしていた場合は以下の値を設定します。

C:\opentoonz_build\Release\stuff


以下の画像のような構成になっていればOKです。
f:id:rikoubou:20160329013515p:plain


15:OpenToonz起動確認
上記の手順がすべてうまく出来ていたなら、ビルドフォルダの「OpenToonz_1.0.exe」をダブルクリックすると正常に立ち上がります。
起動おめでとう!


以上、長々と説明を続けてきましたが
これでようやく開発環境構築が終了となります。

公式の手順でsrv云々のところは残っていますが
これで起動させることはできます。

余計な手順もかなり含まれているとは思いますが
公式の手順で詰まったときの助けになれば幸いです。

Macの方は……さすがにやる気は起きませんね。