Visual Studio 2015 と Qt 5.6 でビルドできることを確認しています。
- https://www.visualstudio.com/ja-jp/products/visual-studio-express-vs.aspx
- Express 版はターゲットプラットフォームごとにバージョンが分かれています。
for Windows
ではなくfor Windows Desktop
を使用します - Community 版や Professional 版などでも構いません
- https://cmake.org/download/
- Visual Studio 用のプロジェクトファイルの生成に使用します
- 本リポジトリを
git clone
します - 以下の説明中の
$opentoonz
は、本リポジトリの root を表します - Visual Studio は BOM の無い UTF-8 のソースコードを正しく認識できず、改行コードが LF で、1行コメントの末尾が日本語の場合に、改行が無視されて次の行もコメントとして扱われる問題があるため、Git に下記の設定をして改行コードを CRLF に変換すると良いでしょう
git config core.safecrlf true
サイズの大きいライブラリはこのリポジトリには含めていないので、別途インストールする必要があります。
lib
とdll
ファイルは Git Large File Storage で管理しています。lfs
のクライアントを導入して、上記git clone
のあとにgit lfs pull
を実行してください。
- https://www.qt.io/download-open-source/
- クロスプラットフォームの GUI フレームワークです
- 上記の URL から以下のファイルをダウンロードして Qt 5.6 (64 ビット版) を適当なフォルダにインストールします
- http://www.boost.org/users/history/version_1_61_0.html
- 上記の URL から boost_1_61_0.zip をダウンロードして解凍し、 boost_1_61_0 を
$opentoonz/thirdparty/boost
にコピーします
- CMake を立ち上げる
- Where is the source code に
$opentoonz/toonz/sources
を指定する - Where to build the binaries に
$opentoonz/toonz/build
を指定する
- 他の場所でも構いません
- チェックアウトしたフォルダ内に作成する場合は、buildから開始するフォルダ名にするとgitから無視されます
- ビルド先を変更した場合は、以下の説明を適宜読み替えてください
- Configure をクリックして、 Visual Studio 14 2015 Win64 を選択します
- Qt のインストール先がデフォルトではない場合、
Specify QT_PATH properly
というエラーが表示されるので、QT_PATH
に Qt5 をインストールしたパスを指定します - Generate をクリック
- CMakeLists.txt に変更があった場合は、ビルド時に自動的に処理が走るので、以降は CMake を直接使用する必要はありません
下記のファイルをコピーします
$opentoonz/thirdparty/LibJPEG/jpeg-9/jconfig.vc
→$opentoonz/thirdparty/LibJPEG/jpeg-9/jconfig.h
$opentoonz/thirdparty/tiff-4.0.3/libtiff/tif_config.vc.h
→$opentoonz/thirdparty/tiff-4.0.3/libtiff/tif_config.h
$opentoonz/thirdparty/tiff-4.0.3/libtiff/tiffconf.vc.h
→$opentoonz/thirdparty/tiff-4.0.3/libtiff/tiffconf.h
$opentoonz/thirdparty/libpng-1.6.21/scripts/pnglibconf.h.prebuilt
→$opentoonz/thirdparty/libpng-1.6.21/pnglibconf.h
tif_config.h
の 50 行目あたりに下記の修正を加えます:
+#if _MSC_VER < 1900
#define snprintf _snprintf
+#endif
$opentoonz/toonz/build/OpenToonz.sln
を開いて Release 構成を選択してビルドします$opentoonz/toonz/build/Release
にファイルが生成されます
$oepntoonz/toonz/build/Release
の中身を適当なフォルダにコピーしますOpenToonz_1.0.exe
のパスを引数にして Qt に付属のwindeployqt.exe
を実行します
- 必要な Qt のライブラリなどが
OpenToonz_1.0.exe
と同じフォルダに集められます
- 下記のファイルを
OpenToonz_1.0.exe
と同じフォルダにコピーします
$opentoonz/thirdparty/glut/3.7.6/lib/glut64.dll
$opentoonz/thirdparty/glew/glew-1.9.0/bin/64bit/glew32.dll
- バイナリ版の OpenToonz のインストール先にある
srv
フォルダをOpenToonz_1.0.exe
と同じフォルダにコピーします
srv
が無くても OpenToonz は動作しますが、 mov 形式などに対応できませんsrv
内のファイルの生成方法は後述します
既にバイナリ版の OpenToonz をインストールしている場合、この手順とレジストリキーの作成と同様の処理が行われているため、これらの手順は不要です。
$opentoonz/stuff
を適当なフォルダにコピーします
- レジストリエディタで下記のキーを作成し、 Stuff フォルダの作成でコピーした stuff フォルダのパスを記載します
- HKEY_LOCAL_MACHINE\SOFTWARE\OpenToonz\OpenToonz\1.0\TOONZROOT
OpenToonz_1.0.exe を実行して動作すれば成功です。おめでとうございます。
OpenToonz は QuickTime SDK を用いて mov 形式などへ対応しています。 QuickTime SDK は 32 ビット版しかないため、 t32bitsrv.exe
という 32 ビット版の実行可能ファイルにQuickTime SDKを組み込み、64ビット版の OpenToonz は t32bitsrv.exe
を経由して QuickTime SDK の機能を使用しています。以下の手順では t32bitsrv.exe
などと合わせて、 32 ビット版の OpenToonz も生成されます。
- https://www.qt.io/download-open-source/
- 64 ビット版と同じインストーラーで Qt 5.6 (32 ビット版) を適当なフォルダにインストールします
- Apple の開発者登録をして下記のURLから
QuickTime 7.3 SDK for Windows.zip
をダウンロードします
- QuickTime SDK をインストールして、
C:\Program Files (x86)\QuickTime SDK
の中身をthirdparty/quicktime/QT73SDK
の中にコピーします
- 64 ビット版と同様の手順で、次のようにフォルダ名とターゲットを読み替えます
$opentoonz/toonz/build
→$opentoonz/toonz/build32
- Visual Studio 14 2015 Win64 → Visual Studio 14 2015
QT_PATH
には 32 ビット版の Qt のパスを指定します
$opentoonz/toonz/build32/OpenToonz.sln
を開いてビルドします
- 64 ビット版の
srv
フォルダの中に下記のファイルをコピーします$opentoonz/toonz/build32/Release
から- t32bitsrv.exe
- image.dll
- tnzcore.dll
- Qt の 32ビット版のインストール先から
- Qt5Core.dll
- Qt5Network.dll
$opentoonz/thirdparty/glut/3.7.6/lib/glut32.dll
Qt の翻訳ファイルは、ソースコードから .ts
ファイルを生成して、 .ts
ファイルに対して翻訳作業を行い、 .ts
ファイルから .qm
ファイルを生成します。Visual Studioソリューション中のtranslation_
から始まるプロジェクトに対して「 translation_???
のみをビルド」を実行すると、 .ts
ファイルと .qm
ファイルの生成が行われます。これらのプロジェクトはソリューションのビルドではビルドされないようになっています。