Visual Studio 2019 で InDesign(Win版) CC 2020用プラグインをビルド

意図

本来、 InDesign CC 2020向けのプラグインは、Visual Studio 2017で開発する。(公式ドキュメント)

vs2019でも開発できないか試してみた。

SDKに含まれるサンプルプロジェクトをビルドする所まで。

環境

準備

Visual Studio 2019 をインストール

最初は最小限でOK。後で必要なものを追加インストールする。

InDesignプラグインC++なので、「C++によるデスクトップ開発」あたりでいいと思う)

InDesign SDKを準備

  1. Adobe InDesignプラグイン開発用のSDKをダウンロードする。

要 アドビアカウント: https://www.adobe.io/apis/creativecloud/indesign.html

f:id:kawaishi2:20200717114135p:plain

  1. ダウンロードしたSDK(ZIP)を適当な場所に解凍する。すごく時間がかかる。自分の環境では1時間弱かかった。(ファイル数が多い)

「plugin」という名前のフォルダが作成されるはず。

サンプルソリューションファイルを開く

SDKSamples.sln を開く

・・・\解凍元\plugin\build\win\prj

上記フォルダにある「SDKSamples.sln」を VS2019で開く

f:id:kawaishi2:20200717115351p:plain

開かれる途中で警告が出る(場合もある):

ここで VSのインストールで足りてないものがあれば、インストールするようVSがうながしてくれる。(C++のいろいろ) 素直に従う。

(スクショ忘れた)

開いた後、設定変更が出る:

2017用のプロジェクトをVS2019環境で開いたので、修正(変換)してよいか聞いてくれる。

OKボタン押す。

(キャンセルしても後から変更できるはず)

f:id:kawaishi2:20200717115410p:plain

BasicDialogをビルドしてみる。

BasicDialog を選択、右クリックでビルド

ビルドは [ Release] に変更。

f:id:kawaishi2:20200717115423p:plain

エラー出る

重大度レベル   コード   説明  プロジェクト  ファイル    行 抑制状態
エラー   C1189   #error:  "You need to update xlocnum hack header by copying over the header from your Visual Studio installation and applying the same changes as to the previous versions. Be careful, this header also changes between minor versions of Visual Studio."  

f:id:kawaishi2:20200717115435p:plain

エラー箇所を見てみる:

・・・\解凍元\plugin\source\precomp\msvc\

vs2019 っぽのが無い。(あたりまえだけど)

f:id:kawaishi2:20200717115449p:plain

xlocnum_hack.h ファイルを見てみる。

vs2017 までの設定しかない。

最後の else 文に入ってエラーになってる。

f:id:kawaishi2:20200717115504p:plain

2017の設定流用して、エラーが出ないように修正する。

【注意】この修正がどう影響するか不明。(この辺は自己責任にて)

f:id:kawaishi2:20200717115513p:plain

再ビルドすると・・・。

うまくいった。

f:id:kawaishi2:20200717115524p:plain

・・・\解凍元\plugin\build\win\releasex64\SDK

上記フォルダに「BasicDialog.sdk.pln」ができてる。

f:id:kawaishi2:20200717115537p:plain

InDesignに設置してみる

InDesign インストール先の「Plug-Ins」フォルダにSDKフォルダごとコピー。

(BasicDialog.sdk.pln ファイルだけでも大丈夫だと思う)

C:\Program Files\Adobe\Adobe InDesign 2020\Plug-Ins\

f:id:kawaishi2:20200717115548p:plain

InDesignCC 2020 を起動

メニューに「プラグイン」が追加され「SDK>BasicDialog」が表示される。

f:id:kawaishi2:20200717115559p:plain

押すと ダイアログが表示された!

f:id:kawaishi2:20200717115609p:plain

まとめ:

下記を代用しちゃってる。

  • Windows SDK:10.0.15063.0 → (代用)10.0.19041.0
  • プラットフォームツールセット:Visual Studio 2017 (v141) → (代用)Visual Studio 2019 (v142)
  • xlocnum_hack.h: 2017の設定で代用

開発中はいいけどリリースビルドはvs2017環境を用意した方がいいかも。

おしまい