|
kusano |
f6307e |
# ビルド手順(Windows)
|
|
kusano |
f6307e |
|
|
shun-iwasawa |
19cec1 |
Visual Studio 2019 (2015以降) と Qt 5.15 (5.9以降) でビルドできることを確認しています。
|
|
kusano |
f6307e |
|
|
kusano |
f6307e |
## 必要なソフトウェアの導入
|
|
kusano |
f6307e |
|
|
shun-iwasawa |
19cec1 |
### Visual Studio Community 2019
|
|
shun-iwasawa |
19cec1 |
- https://www.visualstudio.microsoft.com
|
|
shun-iwasawa |
19cec1 |
- C++ によるデスクトップ開発の環境をインストールします。
|
|
kusano |
f6307e |
|
|
kusano |
f6307e |
### CMake
|
|
kusano |
f6307e |
- https://cmake.org/download/
|
|
Shinya Kitaoka |
0c20bd |
- Visual Studio 用のプロジェクトファイルの生成に使用します
|
|
kusano |
f6307e |
|
|
kusano |
f6307e |
## ソースコードの取得
|
|
Shinya Kitaoka |
0c20bd |
- 本リポジトリを `git clone` します
|
|
Shinya Kitaoka |
0c20bd |
- 以下の説明中の `$opentoonz` は、本リポジトリの root を表します
|
|
Shinya Kitaoka |
0c20bd |
- Visual Studio は BOM の無い UTF-8 のソースコードを正しく認識できず、改行コードが LF で、1行コメントの末尾が日本語の場合に、改行が無視されて次の行もコメントとして扱われる問題があるため、Git に下記の設定をして改行コードを CRLF に変換すると良いでしょう
|
|
kusano |
f6307e |
- `git config core.safecrlf true`
|
|
kusano |
f6307e |
|
|
kusano |
f6307e |
## 必要なライブラリのインストール
|
|
kusano |
f6307e |
サイズの大きいライブラリはこのリポジトリには含めていないので、別途インストールする必要があります。
|
|
kusano |
f6307e |
|
|
Shinya Kitaoka |
0c20bd |
### `lib` と `dll`
|
|
Shinya Kitaoka |
0c20bd |
- `lib` と `dll` ファイルは [Git Large File Storage](https://git-lfs.github.com/) で管理しています。
|
|
Shinya Kitaoka |
0c20bd |
- `lfs` のクライアントを導入して、上記 `git clone` のあとに `git lfs pull` を実行してください。
|
|
Shinya Kitaoka |
0c20bd |
|
|
kusano |
f6307e |
### Qt
|
|
Shinya Kitaoka |
0c20bd |
- https://www.qt.io/download-open-source/
|
|
Shinya Kitaoka |
0c20bd |
- クロスプラットフォームの GUI フレームワークです
|
|
shun-iwasawa |
19cec1 |
- 上記の URL から以下のファイルをダウンロードして Qt 5.15 (64 ビット版) を適当なフォルダにインストールします
|
|
Shinya Kitaoka |
0c20bd |
- [Qt Online Installer for Windows](http://download.qt.io/official_releases/online_installers/qt-unified-windows-x86-online.exe)
|
|
kusano |
f6307e |
|
|
shun-iwasawa |
19cec1 |
#### WinTabサポート付きカスタマイズ版 Qt5.15.2
|
|
shun-iwasawa |
19cec1 |
- Qtは5.12以降Windows Ink APIをネイティブで使用しています。5.9まで使用されていたWinTab APIとはタブレットの挙動が異なり、それによる不具合が報告されています。
|
|
shun-iwasawa |
19cec1 |
- そこで、公式には6.0から導入されるWinTab APIへの切り替え機能をcherry-pickしたカスタマイズ版の5.15.2を頒布しています。
|
|
shun-iwasawa |
19cec1 |
- MSVC2019-x64向けのビルド済みパッケージは [こちら](https://github.com/shun-iwasawa/qt5/releases/tag/v5.15.2_wintab) から入手できます。さらにCMakeで`WITH_WINTAB`オプションを有効にすることで、WinTabAPIへの切り替えが可能になります。
|
|
shun-iwasawa |
19cec1 |
|
|
shun-iwasawa |
19cec1 |
### OpenCV
|
|
shun-iwasawa |
19cec1 |
- v4.1.0 以降
|
|
shun-iwasawa |
19cec1 |
- https://opencv.org/
|
|
shun-iwasawa |
19cec1 |
- CMake上、または環境変数で`OpenCV_DIR` の値をOpenCVのインストールフォルダ内の`build`フォルダの場所に設定します。(例: `C:/opencv/build`)
|
|
shun-iwasawa |
19cec1 |
|
|
kusano |
f6307e |
### boost
|
|
shun-iwasawa |
19cec1 |
- http://www.boost.org/users/history/version_1_73_0.html
|
|
shun-iwasawa |
19cec1 |
- 上記の URL から boost_1_73_0.zip をダウンロードして解凍し、 boost_1_61_0 を `$opentoonz/thirdparty/boost` にコピーします
|
|
kusano |
f6307e |
|
|
kusano |
f6307e |
## ビルド
|
|
kusano |
f6307e |
|
|
Shinya Kitaoka |
0c20bd |
### CMake で Visual Studio のプロジェクトを生成する
|
|
Shinya Kitaoka |
0c20bd |
1. CMake を立ち上げる
|
|
Shinya Kitaoka |
0c20bd |
2. Where is the source code に `$opentoonz/toonz/sources` を指定する
|
|
Shinya Kitaoka |
0c20bd |
3. Where to build the binaries に `$opentoonz/toonz/build` を指定する
|
|
kusano |
f6307e |
- 他の場所でも構いません
|
|
kusano |
f6307e |
- チェックアウトしたフォルダ内に作成する場合は、buildから開始するフォルダ名にするとgitから無視されます
|
|
kusano |
f6307e |
- ビルド先を変更した場合は、以下の説明を適宜読み替えてください
|
|
shun-iwasawa |
19cec1 |
4. Configure をクリックして、 Visual Studio 16 2019 Win64 を選択します
|
|
Shinya Kitaoka |
0c20bd |
5. Qt のインストール先がデフォルトではない場合、 `Specify QT_PATH properly` というエラーが表示されるので、 `QT_PATH` に Qt5 をインストールしたパスを指定します
|
|
Shinya Kitaoka |
0c20bd |
6. Generate をクリック
|
|
Shinya Kitaoka |
0c20bd |
- CMakeLists.txt に変更があった場合は、ビルド時に自動的に処理が走るので、以降は CMake を直接使用する必要はありません
|
|
kusano |
f6307e |
|
|
kusano |
f6307e |
## ライブラリの設定
|
|
kusano |
f6307e |
下記のファイルをコピーします
|
|
kusano |
f6307e |
- `$opentoonz/thirdparty/LibJPEG/jpeg-9/jconfig.vc` → `$opentoonz/thirdparty/LibJPEG/jpeg-9/jconfig.h`
|
|
kusano |
f6307e |
- `$opentoonz/thirdparty/tiff-4.0.3/libtiff/tif_config.vc.h` → `$opentoonz/thirdparty/tiff-4.0.3/libtiff/tif_config.h`
|
|
kusano |
f6307e |
- `$opentoonz/thirdparty/tiff-4.0.3/libtiff/tiffconf.vc.h` → `$opentoonz/thirdparty/tiff-4.0.3/libtiff/tiffconf.h`
|
|
kusano |
f6307e |
- `$opentoonz/thirdparty/libpng-1.6.21/scripts/pnglibconf.h.prebuilt` → `$opentoonz/thirdparty/libpng-1.6.21/pnglibconf.h`
|
|
kusano |
f6307e |
|
|
kusano |
f6307e |
## ビルド
|
|
Shinya Kitaoka |
0c20bd |
1. `$opentoonz/toonz/build/OpenToonz.sln` を開いて Release 構成を選択してビルドします
|
|
Shinya Kitaoka |
0c20bd |
2. `$opentoonz/toonz/build/Release` にファイルが生成されます
|
|
kusano |
f6307e |
|
|
shun-iwasawa |
19cec1 |
## キヤノン製デジタルカメラのサポートを有効にするには
|
|
shun-iwasawa |
590082 |
|
|
shun-iwasawa |
19cec1 |
以下のライブラリが追加で必要です。
|
|
shun-iwasawa |
590082 |
- Canon EOS Digital SDK (EDSDK):入手方法の詳細は[キヤノンマーケティングジャパン株式会社Webサイト](https://cweb.canon.jp/eos/info/api-package/)をご参照下さい。
|
|
shun-iwasawa |
590082 |
|
|
shun-iwasawa |
19cec1 |
CMake上で、`WITH_CANON` オプションをONにします。
|
|
shun-iwasawa |
590082 |
|
|
shun-iwasawa |
19cec1 |
実行時にはCanon EDSDKの.dllファイルを`OpenToonz.exe` と同じフォルダにコピーします。
|
|
shun-iwasawa |
590082 |
|
|
kusano |
f6307e |
## 実行
|
|
kusano |
f6307e |
### 実行可能ファイルなどの配置
|
|
Shinya Kitaoka |
0c20bd |
1. `$oepntoonz/toonz/build/Release` の中身を適当なフォルダにコピーします
|
|
shun-iwasawa |
f39ea0 |
2. `OpenToonz.exe` のパスを引数にして Qt に付属の `windeployqt.exe` を実行します
|
|
shun-iwasawa |
f39ea0 |
- 必要な Qt のライブラリなどが `OpenToonz.exe` と同じフォルダに集められます
|
|
shun-iwasawa |
f39ea0 |
3. 下記のファイルを `OpenToonz.exe` と同じフォルダにコピーします
|
|
kusano |
f6307e |
- `$opentoonz/thirdparty/glut/3.7.6/lib/glut64.dll`
|
|
kusano |
f6307e |
- `$opentoonz/thirdparty/glew/glew-1.9.0/bin/64bit/glew32.dll`
|
|
shun-iwasawa |
19cec1 |
- OpenCV、libjpeg-turboの.dllファイル
|
|
shun-iwasawa |
f39ea0 |
4. バイナリ版の OpenToonz のインストール先にある `srv` フォルダを `OpenToonz.exe` と同じフォルダにコピーします
|
|
Shinya Kitaoka |
0c20bd |
- `srv` が無くても OpenToonz は動作しますが、 mov 形式などに対応できません
|
|
Shinya Kitaoka |
0c20bd |
- `srv` 内のファイルの生成方法は後述します
|
|
kusano |
f6307e |
|
|
kusano |
f6307e |
### Stuffフォルダの作成
|
|
Shinya Kitaoka |
0c20bd |
既にバイナリ版の OpenToonz をインストールしている場合、この手順とレジストリキーの作成と同様の処理が行われているため、これらの手順は不要です。
|
|
kusano |
f6307e |
|
|
Shinya Kitaoka |
0c20bd |
1. `$opentoonz/stuff` を適当なフォルダにコピーします
|
|
kusano |
f6307e |
|
|
kusano |
f6307e |
### レジストリキーの作成
|
|
Shinya Kitaoka |
0c20bd |
1. レジストリエディタで下記のキーを作成し、 Stuff フォルダの作成でコピーした stuff フォルダのパスを記載します
|
|
shun-iwasawa |
f39ea0 |
- HKEY_LOCAL_MACHINE\SOFTWARE\OpenToonz\OpenToonz\TOONZROOT
|
|
kusano |
f6307e |
|
|
kusano |
f6307e |
### 実行
|
|
shun-iwasawa |
f39ea0 |
OpenToonz.exe を実行して動作すれば成功です。おめでとうございます。
|
|
kusano |
f6307e |
|
|
Shinya Kitaoka |
0c20bd |
## `srv` フォルダ内のファイルの生成
|
|
Shinya Kitaoka |
0c20bd |
OpenToonz は QuickTime SDK を用いて mov 形式などへ対応しています。 QuickTime SDK は 32 ビット版しかないため、 `t32bitsrv.exe` という 32 ビット版の実行可能ファイルにQuickTime SDKを組み込み、64ビット版の OpenToonz は `t32bitsrv.exe` を経由して QuickTime SDK の機能を使用しています。以下の手順では `t32bitsrv.exe` などと合わせて、 32 ビット版の OpenToonz も生成されます。
|
|
kusano |
f6307e |
|
|
kusano |
f6307e |
### Qt
|
|
Shinya Kitaoka |
0c20bd |
- https://www.qt.io/download-open-source/
|
|
shun-iwasawa |
19cec1 |
- 64 ビット版と同じインストーラーで Qt 5.x (32 ビット版) を適当なフォルダにインストールします
|
|
kusano |
f6307e |
|
|
kusano |
f6307e |
### QuickTime SDK
|
|
Shinya Kitaoka |
0c20bd |
1. Apple の開発者登録をして下記のURLから `QuickTime 7.3 SDK for Windows.zip` をダウンロードします
|
|
kusano |
f6307e |
- https://developer.apple.com/downloads/?q=quicktime
|
|
Shinya Kitaoka |
0c20bd |
2. QuickTime SDK をインストールして、 `C:\Program Files (x86)\QuickTime SDK` の中身を `thirdparty/quicktime/QT73SDK` の中にコピーします
|
|
kusano |
f6307e |
|
|
Shinya Kitaoka |
0c20bd |
### CMake で Visual Studio の 32 ビット版のプロジェクトを生成する
|
|
Shinya Kitaoka |
0c20bd |
- 64 ビット版と同様の手順で、次のようにフォルダ名とターゲットを読み替えます
|
|
kusano |
f6307e |
- `$opentoonz/toonz/build` → `$opentoonz/toonz/build32`
|
|
shun-iwasawa |
19cec1 |
- Visual Studio 16 2019 x64 → Visual Studio 16 2019 Win32
|
|
Shinya Kitaoka |
0c20bd |
- `QT_PATH` には 32 ビット版の Qt のパスを指定します
|
|
kusano |
f6307e |
|
|
Shinya Kitaoka |
0c20bd |
### 32 ビット版のビルド
|
|
kusano |
f6307e |
1. `$opentoonz/toonz/build32/OpenToonz.sln`を開いてビルドします
|
|
kusano |
f6307e |
|
|
Shinya Kitaoka |
0c20bd |
### `srv` フォルダの配置
|
|
Shinya Kitaoka |
0c20bd |
- 64 ビット版の `srv` フォルダの中に下記のファイルをコピーします
|
|
Shinya Kitaoka |
0c20bd |
- `$opentoonz/toonz/build32/Release` から
|
|
kusano |
f6307e |
- t32bitsrv.exe
|
|
kusano |
f6307e |
- image.dll
|
|
shun-iwasawa |
19cec1 |
- tnzbase.dll
|
|
kusano |
f6307e |
- tnzcore.dll
|
|
shun-iwasawa |
19cec1 |
- tnzext.dll
|
|
shun-iwasawa |
19cec1 |
- toonzlib.dll
|
|
Shinya Kitaoka |
0c20bd |
- Qt の 32ビット版のインストール先から
|
|
shun-iwasawa |
19cec1 |
- `windeployqt.exe`を実行して必要なライブラリを入手
|
|
shun-iwasawa |
19cec1 |
- 追加で Qt5Gui.dll
|
|
kusano |
f6307e |
- `$opentoonz/thirdparty/glut/3.7.6/lib/glut32.dll`
|
|
kusano |
f6307e |
|
|
kusano |
f6307e |
## 翻訳ファイルの生成
|
|
Shinya Kitaoka |
0c20bd |
Qt の翻訳ファイルは、ソースコードから `.ts` ファイルを生成して、 `.ts` ファイルに対して翻訳作業を行い、 `.ts` ファイルから `.qm` ファイルを生成します。Visual Studioソリューション中の`translation_`から始まるプロジェクトに対して「 `translation_???` のみをビルド」を実行すると、 `.ts` ファイルと `.qm` ファイルの生成が行われます。これらのプロジェクトはソリューションのビルドではビルドされないようになっています。
|