2018年8月26日日曜日

6: UNOプログラムをWindowsで開発する環境を構築する

<このシリーズの前の記事 | このシリーズの目次 | このシリーズの次の記事>

マクロ、外部UNOプログラム、UNO拡張機能を、Java、C++、.NET Framework(大抵、C#、Visual Basic.NET)、Pythonで開発するために。

話題


About: UNO (Universal Network Objects)
About: LibreOffice
About: Apache OpenOffice
About: Java programming language
About: C++
About: .NET Framework
About: Python programming language
About: LibreOffice Basic
About: Apache OpenOffice Basic
About: BeanShell
About: JavaScript

この記事の目次


開始コンテキスト



ターゲットコンテキスト



  • 読者は、UNOプログラム(外部UNOプログラムやUNO拡張機能)をWindowsで開発する環境(Gradleを使用する)を構築する方法を知る。
ト書き
Hypothesizer 7、Objector 1C、Objector 6A、Objector 6Bがコンピューターの前にいる。


オリエンテーション


Hypothesizer 7
この記事では、UNOプログラム(外部UNOプログラムやUNO拡張機能)をWindowsで開発する環境(Gradleを使用する)を構築する方法を学びます。UNOプログラムをLinuxで開発する環境を構築することについての記事もあります。

Objector 1C
「Gradle」だと?それが何であろうと、俺は使わんぞ。

Hypothesizer 7
...サー、Gradleはビルドツールです。

Objector 1C
「ビルドツール」だと?なんでそんなものを俺が必要とするんだ?俺のプログラミングは、Visual Studioでメニュー項目の 'Build'をクリックすればちゃんとビルドされる。

Hypothesizer 7
ああ、Visual Studioをお使いですか...

Objector 1C
もちろん、使うとも。C#プログラムを開発するにはVisual Studioが必要だろう?

Hypothesizer 7
いいえ、必要ではありません、実のところ。.NET framework Software Devlopment Kitがあればよいのです。

Objector 1C
...それは、Gradleも必要ないということだな。

Hypothesizer 7
確かに、必要ありません。しかし、プロジェクトをビルドするのに長々しいコマンドを毎回タイピングしたくないので、私たちはビルドシステムを欲するのです。

Objector 1C
だから、俺はVisual Studioを使う。いいな?

Hypothesizer 7
あなたがVisual Studioをお使いになるのは、勿論、結構です。しかし、このシリーズをVisual Studioユーザだけのためのものにしたくないため、このシリーズではVisual Studioを使いません。

Objector 1C
だが、お前は、それをGradleユーザだけのためのものにしてるだろうが。

Hypothesizer 7
Visual Studioは、IDEであって、あなたの開発エクスペリエンス全体を決定づけますが、ビルドツールは、プロジェクトがビルドされる際にのみ使用され、自由度に違いがあります。実際、Visual Studioを使うことは、Eclipseを使えないことを意味しますが、Gradleを使うことは、Visual Studioを含めてどのIDE、またはテキストエディタを使うことも妨げません。

Objector 1C
では、俺はVisual Studioを使えるんだな?

Hypothesizer 7
はい、使えます、少なくとも、ソースファイルを編集するのには。あなたのIDEにGradleのタスクを組み込めるかどうかは、あなたのIDE次第です。

Objector 1C
コード補完機能は使えるのか?

Hypothesizer 7
必要なライブラリへの参照をあなたのIDEにセットしさえすれば、C#コードを通常通り開発できるでしょう。しかし、UNO独自のタスク(例えば、UNOIDLファイルをコンパイルすること、'UNOデータタイプのマージされたファイル'を作成すること、'UNOデータタイプのマージされたファイル'から各プログラミング言語用のファイルを生成すること、UNO拡張機能ファイルを作成すること、UNO拡張機能を登録すること)を遂行する方法をあなたのIDEは知らず、それらを、私たちのGradleビルドスクリプトが行なうのです。

Objector 1C
...では、俺はGradleを使わなければいかんと、言い張るのだな。

Hypothesizer 7
私は特にそのように言い張りはしません。しかし、私たちの、将来のサンプルプログラムはGradleプロジェクトという形になるので、Gradleを使わないのであれば、あなたは、そうしたプロジェクトをそのままビルドするということができなくなるでしょう。

Objector 1C
...たとえGradleを使うと俺が譲歩したとしても、GradleをVisual Studioとどう協調させて使えるかを、 お前は説明する必要がある。

Hypothesizer 7
それは致しましょう、将来の記事にて。

Objector 6A
C#プログラムを開発することについてあんたらは話しているが、これは、.NET frameworkプログラムを開発することについてのものなのか?

Hypothesizer 7
それだけについてのものではありません。これは、Java、C++、.NET Frameworkの外部UNOプログラム、あるいは、Java、C++、Python、LibreOfficeまたはApache OpenOffice Basic、BeanShell、JavaScriptのコードを含められるUNO拡張機能を開発することについてのものです。

Objector 6B
あなたは失礼よ!

Hypothesizer 7
何でございましょう、マダム?

Objector 6B
あなたは失礼よ、あなたの過去記事を読むよう'開始コンテキスト'で私に要求するなんて!何かをするようあなたに要求されるいわれなんか全然ありません!

Hypothesizer 7
...いかなる技術文書においても、文書のコンテキストを始めに明確にするのが著者の責務だと思ったのですが。

Objector 6B
あなたは失礼よ!インストール指示どおりにするのにコンテキストなど必要なはずありません!

Hypothesizer 7
...何が何の目的で必要であるかをあなたは理解しなければならないだろうと思ったのですが。コンテキストはそうした理解のためです。

Objector 6B
あなたは失礼よ!私が何をしなければならないかは私が決めます!

Hypothesizer 7
確かに、しかし、私のインストール指示にあなたが盲目的にしたがうと想定するほど失礼であるべきではないと思ったのですが。

Objector 6B
あなたは失礼よ!あなたはとても失礼よ!

Hypothesizer 7
...マダム、常に「あなたは失礼」で始めなければならないのでしたら、お手間を省くために、それをご省略いただいて私が私の頭の中で補足するということにもできますが。

Objector 6B
...あなたの環境とやらを構築したとして、一体何ができるというわけ?

Hypothesizer 7
私が失礼だという御苦情は承りました。ご質問についてですが、それについての過去記事がございます。

Objector 6B
あなたはまったく失礼よ!何かを、特にあなたの記事なんか、読めと命令されるのは我慢なりません!

Hypothesizer 7
...私はあなたに命令などしておりません。ご興味がおありの場合のために、参照先をお示ししただけでして...


本体


1: 開発環境はどのようなものになるのか?


Hypothesizer 7
最初に明らかにしておきましょう。UNOプログラムを開発するのに絶対に必要なのは以下のものだけです。LibreOfficeまたはApache OpenOffice、LibreOffice SDKまたはApache OpenOffice SDK(UNOデータタイプを開発するか、C++コードを開発する場合のみ)、JDK(Javaコードを開発する場合のみ)、Visual Studio C++およびWindows SDKに含まれている一部のヘッダーとライブラリ(C++コードを開発する場合のみ)、.NET Framework SDK(.NET Frameworkコードを開発する場合のみ)。

Objector 1C
結局Visual Studioを使うんじゃないか!

Hypothesizer 7
IDEは使用しません。コンパイラ、リンカー、ヘッダーファイル、ライブラリのみを使用します。不必要なものはインストールしたくない(Visual Studio C++は、システムドライブに681 MB、全体で1.43 GBを占有します)のですが、コンパイラを入手するのに他に方法がないようです。

Objector 6A
GCCを使えないのか?

Hypothesizer 7
実は、試したのですが、うまくいきませんでした。LibreOfficeのC++ライブラリはVisual Studio C++でビルドされているため、それらのライブラリにGCCで私のプログラムをリンクできませんでした。

Objector 6A
GCCは、Visual Studio C++でビルドされたライブラリにプログラムをリンクできないのか?

Hypothesizer 7
事はそれほど単純ではなく、それをここで追求することはしません。将来の記事で議論するかもしれません。

Objector 6A
とにかく、Gradleは絶対に必要ではないわけだ、あんたの言葉によると。

Hypothesizer 7
はい、そうです。しかし、私たちの、将来のサンプルプログラムをそのままビルドするには、それをインストールしなければなりません。

Objector 6A
'オリエンテーション'は誰もが読んだというわけじゃないんだから、Gradleの必要性の説明をあんたはここで繰返すべきだろう。

Hypothesizer 7
はい。思い出させていただき、ありがとうございます。Gradleはビルドツールです。あなたはお気に入りのIDEを使うことができますが、UNO独自のタスク(例えば、UNOIDLファイルをコンパイルすること、'UNOデータタイプのマージされたファイル'を作成すること、'UNOデータタイプのマージされたファイル'から各プログラミング言語用のファイルを生成すること、UNO拡張機能ファイルを作成すること、UNO拡張機能を登録すること)を遂行する方法をあなたのIDEは知らず、それらを、私たちのGradleビルドスクリプトが行なうのです。

Objector 6A
オーケー。

Hypothesizer 7
比較的新しいプラットフォームおよび比較的新しいバージョンのソフトウェアのどれでも使用できますが、私は、2019-11-10現在、以下のプラットフォームとソフトウェアを使用します。

プラットフォーム:Windows 10 x86-64

ソフトウェアどのような場合に必要か
LibreOffice 6.3.3 あるいは Apache OpenOffice 4.1.7どのようなUNOプログラムを開発する場合にも
LibreOffice SDK 6.3.3あるいはApache OpenOffice SDK 4.1.7UNOデータタイプを開発する場合およびC++コードを開発する場合
OpenJDK 13.0.1 + OpenJFX 13.0.1どのようなUNOプログラムを開発する場合にも(Javaコードを開発しなくても、Gradleを動作させるために必要)。
Gradle 6.0どのようなUNOプログラムを開発する場合にも
Visual Studio C++ 2017 + Windows SDK for UWP C++ Apps + Windows SDK for Desktop C++ amd64 Apps + wxWidgets 3.1.2C++コードを開発する場合。wxWidgetsは、使用しないのであれば必要ありません(私たちの将来のサンプルプログラムたちは使用します)。
.NET framework SDK.NET frameworkコードを開発する場合

Hypothesizer 7
「+ OpenJFX」?

Objector 6A
OpenJDK 11.0.2にはJavaFXが含まれていないので、JavaFXを使うのであれば、それが必要です。

Objector 6A
なぜ、代わりに、Oracle JDKを使わないのか?

Hypothesizer 7
以前はそれを使っていたのですが、ライセンス規定が変更になったので、OpenJDKに乗り換えました。それをお使いになりたければ、お使いいただけます。

Objector 6A
...「wxWidgets」というのはなんだ?

Hypothesizer 7
それは、クロスプラットフォームなGUIライブラリーです。

Objector 6A
...GUIならMFCで作れるが。

Hypothesizer 7
はい、そうできます。私のコードはクロスプラットフォームでなければならないため、私はクロスプラットフォームなGUIライブラリーを使っています。


2: ソフトウェアをインストールして設定する



2-1: 注意事項


Hypothesizer 7
私は、ディレクトリ名にスペースを使用しない習慣なので、私たちのビルドシステムは基本的に、名前にスペースを含まないディレクトリに対してだけテストされております。名前にスペースを含むディレクトリに対して問題があれば、残念に思います。

Objector 6A
「残念に思います。」...それだけか?

Hypothesizer 7
もし問題に遭遇したら、あなたは、私をののしり、Gradleビルドスクリプトを修正するか、私をののしり、ディレクトリ名を変更することができます。

Objector 6A
それでは、俺は、あんたをののしり、ディレクトリ名にはスペースを使わないことにする。

Hypothesizer 7
以降の記述における%USERNAME%という表現はカレントオペレーティングシステムユーザー名を意味しますので、ご注意ください。したがって、それを、必要に応じてあなたのオペレーティングシステムユーザー名で置き換えてください。


2-2: LibreOfficeをインストールして設定する


Hypothesizer 7
LibreOfficeをインストールします。Apache OpenOfficeを使うのであれば、これは必要ありません。

LibreOfficeのダウンロードWebページから、インストールパッケージファイルをどこかにダウンロードし、そのパッケージをインストールします。

ト書き
Hypothesizer 7は、Webブラウザを起動し、Windows x86-64用インストールパッケージファイルをダウンロードし、ファイルエクスプローラーのインスタンスを起動し、そのファイルエクスプローラーインスタンスでパッケージファイルをダブルクリックし、インストーラにしたがって操作する(インストール先ディレクトリは'D:\libreOffice'にする)。

Hypothesizer 7
つぎに、LibreOfficeのプログラムディレクトリ(今の場合、'D:\libreOffice\program')をオペレーティングシステムのコマンドパスに追加します。それは、コントロールパネルを使って以下のように行なえます。

ト書き
Hypothesizer 7は、Start(スタート)ボタン、'Windows System(Windows システムツール)'、'Control Panel(コントロールパネル)'をクリックし、そのコントロールパネルインスタンスで、'System and Security(システムとセキュリティ)'、'System(システム)'、'Computer name, domain, and workgroup settings(コンピューター名、ドメインおよびワークグループの設定)'の'Change settings(設定の変更)'、'Advanced(詳細設定)'タブ、'Environment Variables...(環境変数...)'、'User variables for %USERNAME%(%USERNAME%のユーザー環境変数)'の'Path'の'Edit...(編集...)'、'New(新規)'をクリックし、'D:\libreOffice\program'を入力し、'OK'をクリックする。

Hypothesizer 7
このウィンドウは、後で使うのでこのままにしておきます。


2-3: Apache OpenOfficeをインストールして設定する


Hypothesizer 7
Apache OpenOfficeをインストールします。LibreOfficeを使うのであれば、これは必要ありません。

Apache OpenOfficeのダウンロードWebページから、本体のインストールパッケージファイルと1つの言語パックのインストールパッケージファイルをどこかにダウンロードし、それらパッケージ群をインストールします。

ト書き
Hypothesizer 7は、Windows x86-64用インストールパッケージファイル群をダウンロードし、ファイルエクスプローラーインスタンスで本体のパッケージファイルをダブルクリックし、インストーラにしたがって操作し(インストール先ディレクトリは'D:\apacheOpenOffice'にする)、ファイルエクスプローラーインスタンスで言語パックのパッケージファイルをダブルクリックし、インストーラにしたがって操作する。

Hypothesizer 7
つぎに、Apache OpenOfficeのプログラムディレクトリ(今の場合、''D:\apacheOpenOffice\program'')をオペレーティングシステムのコマンドパスに追加します。それは、コントロールパネルを使って以下のように行なえます。

ト書き
Hypothesizer 7は、Start(スタート)ボタン、'Windows System(Windows システムツール)'、'Control Panel(コントロールパネル)'をクリックし、そのコントロールパネルインスタンスで、'System and Security(システムとセキュリティ)'、'System(システム)'、'Computer name, domain, and workgroup settings(コンピューター名、ドメインおよびワークグループの設定)'の'Change settings(設定の変更)'、'Advanced(詳細設定)'タブ、'Environment Variables...(環境変数...)'、'User variables for %USERNAME%(%USERNAME%のユーザー環境変数)'の'Path'の'Edit...(編集...)'、'New(新規)'をクリックし、'D:\apacheOpenOffice\program'を入力し、'OK'をクリックする。

Hypothesizer 7
このウィンドウは、後で使うのでこのままにしておきます。


2-4: LibreOffice SDKをインストールする


Hypothesizer 7
LibreOffice SDKをインストールします。Apache OpenOfficeを使う場合やUNOデータタイプもC++コードも開発しない場合は、これは必要ありません。

LibreOfficeのダウンロードWebページから、インストールパッケージのファイルをどこかにダウンロードし、そのパッケージをインストールします。SDKはインストーラで指定したディレクトリの下の'sdk'サブディレクトリにインストールされることにご注意ください。

ト書き
Hypothesizer 7は、Windows x86-64用インストールパッケージファイルをダウンロードし、ファイルエクスプローラーインスタンスでそのパッケージファイルをダブルクリックし、インストーラにしたがって操作する(インストール先ディレクトリは'D:\libreOffice'にする)。


2-5: Apache OpenOffice SDKをインストールする


Hypothesizer 7
Apache OpenOffice SDKをインストールします。LibreOfficeを使う場合やUNOデータタイプもC++コードも開発しない場合は、これは必要ありません。

Apache OpenOfficeのダウンロードWebページから、インストールパッケージのファイルをどこかにダウンロードし、そのパッケージをインストールします。SDKはインストーラで指定したディレクトリの下の'sdk'サブディレクトリにインストールされることにご注意ください。

ト書き
Hypothesizer 7は、Windows x86-64用インストールパッケージファイルをダウンロードし、ファイルエクスプローラーインスタンスでそのパッケージファイルをダブルクリックし、インストーラにしたがって操作する(インストール先ディレクトリは'D:\apacheOpenOffice'にする)。


2-6: OpenJDK + OpenJFXをインストールして設定する


Hypothesizer 7
OpenJDK をインストールします。

OpenJDKのダウンロードWebページから、アーカイブファイルをどこかにダウンロードし、アーカイブファイルの必要なコンテンツをどこかにコピーします。

ト書き
Hypothesizer 7は、Windows/x64 ZIPファイルをダウンロードし、ディレクトリ'E:\home\%USERNAME%\myApplications\execution\openJdk'を作成し、ファイルエクスプローラーインスタンスでそのZIPファイルをダブルクリックし、ルートにあるバージョンディレクトリ配下のコンテンツを、作成したディレクトリへコピーします。

Hypothesizer 7
次に、必要な環境変数を1つセットし、JDKのバイナリディレクトリをオペレーティングシステムのコマンドパスに追加します。これは、コントロールパネルを使って以下のように行なうことができます。

ト書き
'LibreOfficeをインストールして設定する'サブセクションまたは'Apache OpenOfficeをインストールして設定する'サブセクションで開いた'Environment Variables(環境変数)'ウィンドウで、Hypothesizer 7は、'User variables for %USERNAME%(%USERNAME%のユーザー環境変数)'の'New...(新規...)'をクリックし、'Variable name(変数名)'および'Variable value(変数値)'にそれぞれ'JAVA_HOME'と'E:\home\%USERNAME%\myApplications\execution\openJdk'を入力し、'OK'をクリックし、'User variables for %USERNAME%(%USERNAME%のユーザー環境変数)'の'Path'の'Edit...(編集...)'、'New(新規)'をクリックし、'%JAVA_HOME%\bin'を入力し、'OK'をクリックする。

Hypothesizer 7
このウィンドウは、後で使うのでこのままにしておきます。

OpenJFXをインストールします。

OpenJFXのダウンロードWebページから、アーカイブファイルをどこかにダウンロードし、アーカイブファイルの必要なコンテンツをどこかにコピーします。

ト書き
Hypothesizer 7は、Windows SDK ZIPファイルをダウンロードし、ディレクトリ'E:\home\%USERNAME%\myApplications\libraries/javaFx'を作成し、ファイルエクスプローラーインスタンスでそのZIPファイルをダブルクリックし、ルートにあるバージョンディレクトリ配下のコンテンツを、作成したディレクトリへコピーします。


2-7: Gradleをインストールして設定する


Hypothesizer 7
Gradleをインストールします。

GradleのダウンロードWebページから、アーカイブファイルをどこかにダウンロードし、そのアーカイブファイルの必要なコンテンツをどこかにコピーします。

ト書き
Hypothesizer 7は、ZIPファイルをダウンロードし、'E:\home\%USERNAME%\myApplications\execution\gradle'というディレクトリを作成し、ファイルエクスプローラーインスタンスでZIPファイルをダブルクリックし、ZIPファイルのルートにあるバージョンディレクトリの配下のコンテンツを、作成したディレクトリにコピーする。

Hypothesizer 7
次に、必要な環境変数を1つセットし、Gradleのバイナリディレクトリをオペレーティングシステムのコマンドパスに追加します。これを、コントロールパネルを使って以下のように行なうことができます。

ト書き
'LibreOfficeをインストールして設定する'サブセクションまたは'Apache OpenOfficeをインストールして設定する'サブセクションで開いた'Environment Variables(環境変数)'ウィンドウで、Hypothesizer 7は、'User variables for %USERNAME%(%USERNAME%のユーザー環境変数)'の'New...(新規...)'をクリックし、'Variable name(変数名)'および'Variable value(変数値)'にそれぞれ'GRADLE_HOME'と'E:\home\%USERNAME%\myApplications\execution\gradle'を入力し、'OK'をクリックし、'User variables for %USERNAME%(%USERNAME%のユ ーザー環境変数)'の'Path'の'Edit...(編集...)'、'New(新規)'をクリックし、'%GRADLE_HOME%\bin'を入力し、'OK'をクリックする。

Hypothesizer 7
このウィンドウは、後で使うのでこのままにしておきます。


2-8: Visual Studio C++をインストールして設定し、必要なヘッダーファイルおよびライブラリとwxWidgetsをインストールする


Hypothesizer 7
Visual Studio C++をインストールします。C++コードを開発しない場合は、これは必要ありません。

Visual StudioのダウンロードWebページから、インストールパッケージファイルをどこかにダウンロードし、そのパッケージをインストールします。

私たちが必要とするのは'VC++ 2017 version 15.7 v14.14 latest v141 tools'だけです('Static analysis tools'が不可避に選択されます)。

ト書き
Hypothesizer 7は、Communityエディションのインストールパッケージファイルをダウンロードし、ファイルエクスプローラーインスタンスでそのパッケージファイルをダブルクリックし、インストーラにしたがって操作する(インストール先ディレクトリは'D:\visualStudio'にし、'Individual components'タブで'VC++ 2017 version 15.7 v14.14 latest v141 tools'を選択する)。

Hypothesizer 7
次に、C++のコンパイラおよびリンカーのディレクトリをオペレーティングシステムのコマンドパスに追加します。これを、コントロールパネルを使って以下のように行なうことができます。

ト書き
'LibreOfficeをインストールして設定する'サブセクションまたは'Apache OpenOfficeをインストールして設定する'サブセクションで開いた'Environment Variables(環境変数)'ウィンドウで、Hypothesizer 7は、'User variables for %USERNAME%(%USERNAME%のユ ーザー環境変数)'の'Path'の'Edit...(編集...)'、'New(新規)'をクリックし、'D:\visualStudio\VC\Tools\MSVC\14.14.26428\bin\Hostx64\x64'を入力し、'OK'をクリックする。

Hypothesizer 7
実は、Windows 10 SDKから追加のヘッダーファイルとライブラリをインストールしなければなりません。Windows 10 SDKのダウンロードWebページから、インストールパッケージファイルをどこかにダウンロードし、そのパッケージをインストールします。

ト書き
Hypothesizer 7は、インストールパッケージファイルをダウンロードし、ファイルエクスプローラーインスタンスでそのパッケージファイルをダブルクリックし、インストーラにしたがって操作する(インストール先ディレクトリは'D:\windowsSdk'にし、'Windows SDK for UWP C++ Apps'('Windows SDK for UWP Managed Apps'および'Windows SDK Signing Tools for Desktop Apps' が不可避に選択される)および'Windows SDK for Desktop C++ amd64 Apps'('Windows SDK for Desktop C++ x86 Apps'が不可避に選択される)を選択する)。

wxWidgetsをインストールします。wxWidgetsを使用しない場合は(私たちのサンプルは使用します)、これは必要ありません。

wxWidgetsのダウンロードWebページから、ソースファイル群を格納したアーカイブファイルをどこかにダウンロードし、そのアーカイブファイルの必要なコンテンツをどこかにコピーし、'Developer Command Prompt for VS 2017'を開き、そのターミナルで以下のコマンドを実行します(ディレクトリパスおよびプラットフォームに基づくパラメータは、必要に応じて変更してください)。

ト書き
Hypothesizer 7は、「Windows ZIP」ZIPファイルをダウンロードし、'E:\home\%USERNAME%\myApplications\libraries\wxWidgets'というディレクトリを作成し、ファイルエクスプローラーインスタンスでZIPファイルをダブルクリックし、ZIPファイルのルートにあるバージョンディレクトリの配下のコンテンツを、作成したディレクトリにコピーし、'Start(スタート)'ボタンをクリックし、'Visual Studio 20017' -> 'Developer Command Prompt for VS 2017'をクリックし、開かれたターミナルで以下のコマンドを実行する。

@cmd ソースコード
set INCLUDE=%INCLUDE%;D:\visualStudio\VC\Tools\MSVC\14.14.26428\include;D:\windowsSdk\Include\10.0.17763.0\um;D:\windowsSdk\Include\10.0.17763.0\shared
set LIB=D:\visualStudio\VC\Tools\MSVC\14.14.26428\lib\x64;D:\windowsSdk\Lib\10.0.17763.0\um\x64;D:\windowsSdk\Lib\10.0.17763.0\ucrt\x64
E:
cd \home\%USERNAME%\myApplications\libraries\wxWidgets\build\msw
nmake /f makefile.vc BUILD=release SHARED=1 TARGET_CPU=X64


2-9: .NET Framework SDKをインストールする


Hypothesizer 7
.NET Framework SDKをインストールします。.NET Frameworkコードを開発しない場合は、これは必要ありません。

実は、.NET Framework SDKはWindows 10 SDKに含まれています。Windows 10 SDKのダウンロードWebページから、インストールパッケージファイルをどこかにダウンロードし、そのパッケージをインストールします。

ト書き
Hypothesizer 7は、Windows 10 SDKのダウンロードWebページからダウンロード済みのパッケージファイルをファイルエクスプローラーインスタンスでダブルクリックし、インストーラにしたがって操作する(インストール先ディレクトリは'D:\windowsSdk'にし、'.NET Framework 4.7.2 Software Development Kit'を選択する)。


2-10: LibreOfficeまたはApache OpenOfficeが使用するJREをセットする


Hypothesizer 7
LibreOfficeまたはApache OpenOfficeのプロセス内JVMに使用されるJREをセットします。そのようなJVMで動作させるJavaコードを開発しないのであれば、これは必要ありません。

LibreOfficeに対しては、以下のようにセットできます。LibreOfficeのプロセスを起動し、メニューで'Tools(ツール)'をクリックし、'Options(オプション)'をクリックし、'Advanced(詳細)'をクリックし、'Use a Java runtime environment(Java実行環境を使用)'にチェックを入れ、JREを選択し、'OK'をクリックする。

Apache OpenOfficeに対しては、以下のようにセットできます。Apache OpenOfficeのプロセスを起動し、メニューで'Tools(ツール)'をクリックし、'Options(オプション)'をクリックし、'Advanced(詳細)'をクリックし、'Use a Java runtime environment(Java実行環境を使用)'にチェックを入れ、JREを選択し、'OK'をクリックする。


2-11: LibreOfficeまたはApache OpenOfficeに含まれているいくつかの'UNOデータタイプのマージされたファイル'からC++ヘッダーファイル群を生成する


Hypothesizer 7
OpenOffice LibreOfficeまたはApache OpenOfficeに含まれているいくつかの'UNOデータタイプのマージされたファイル'からC++ヘッダーファイル群を生成します。C++コードを開発しないのであれば、これは必要ありません。

以下のコマンドをターミナルで実行します(ディレクトリパスは必要に応じて変更してください('D:\libreOffice'は、LibreOfficeのベースディレクトリ、'E:/home/$USERNAME$/myApplications/headerFiles'は、生成されるC++ヘッダーファイル群のベースとなるディレクトリです))。

ト書き
Hypothesizer 7は、以下のコマンドをターミナルで実行する。

@bash ソースコード
D:
cd \libreOffice
sdk\bin\cppumaker -Gc -OE:/home/$USERNAME$/myApplications/headerFiles ./program/types.rdb ./program/types/offapi.rdb


3: 結びとその先


Hypothesizer 7
これで、UNOプログラムをWindowsで開発する環境が構築されました。この環境は、勿論、UNOプログラムを開発するのに絶対的に必要なものではありませんが(makeやMavenなどの別のビルドソフトウェアを使うことができますし、Eclipse、NetBeans、Visual StudioなどのIDEを使うこともできます)、私たちの、将来のサンプルプログラムをビルドするのに必要です。

この環境でビルドできるさまざまなサンプルプログラムを将来の記事で見ていきます。


参考資料


  • The Document Foundation. (n/a). Download LibreOffice | LibreOffice. Retrieved from https://www.libreoffice.org/download/download/
  • The Apache Software Foundation. (2019). Apache OpenOffice - Downloads. Retrieved from https://openoffice.apache.org/downloads.html
  • Oracle Corporation and/or its affiliates. (2019). JDK 11.0.2 GA Release. Retrieved from https://jdk.java.net/11/
  • Gluon. (2019). JavaFX. Retrieved from https://gluonhq.com/products/javafx/
  • Gradle Inc. (2019). Gradle | Installation. Retrieved from https://gradle.org/gradle-download/
  • Microsoft. (n/a). Windows 10 SDK. Retrieved from https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk
  • Microsoft. (n/a). Visual Studio IDE, Code Editor, VSTS, & App Center. Retrieved from https://visualstudio.microsoft.com/
<このシリーズの前の記事 | このシリーズの目次 | このシリーズの次の記事>