このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MATLAB Compiler でのデプロイの手順
MATLAB® Compiler™ および MATLAB Compiler SDK™ を使用して、MATLAB の実行を必要としないデプロイ可能なコンポーネントに MATLAB ファイルをパッケージ化できます。
MATLAB Compiler では、スタンドアロン アプリケーション、Web アプリ、Microsoft® Excel® アドイン、MapReduce または Spark™ のビッグ データ アプリケーションを作成できます。
MATLAB Compiler SDK では、C/C++ 共有ライブラリ、.NET アセンブリ、Java® クラス、Python® パッケージ、COM コンポーネント、MATLAB Production Server™ のデプロイ可能アーカイブ、MATLAB Production Server 用 Excel アドイン、Docker® コンテナーベースのマイクロサービスを作成できます。
デプロイ可能な MATLAB コードの記述
MATLAB 環境の外で実行する MATLAB スクリプト、関数、またはクラス ファイルをパッケージ化するには、まずコードが完成した状態であり、エンド ユーザーによる実行の準備が整っていることを確認する必要があります。isdeployed
などの関数を使用して、デプロイ前に実行する必要があるコードを分離できます。たとえば、デプロイされたアプリケーションでは MATLAB パスは固定されていて変更できないため、パスを変更するコードを isdeployed
を使用して分離します。詳細については、デプロイ可能な MATLAB コードの記述を参照してください。
MATLAB スクリプト、MEX ファイル、クラス ファイルに加えて、データ ファイルなど、他のタイプのファイルをコンパイルされたアーティファクトに含めることができます。詳細については、パッケージ化されたアプリケーションでのファイルの追加とアクセスを参照してください。
ターゲット用のコードのパッケージ化
パッケージ化プロセス中は、以下の手順でコンパイラが実行されます。
依存関係の分析関数を使用して必要なサポート ファイルを含めます。詳細については、MATLAB Compiler を使用した依存関係の分析を参照してください。
MEX ファイルを検証します。特に、
mexFunction
エントリ ポイントが検証されます。パッケージ化されたアプリケーションに MEX ファイルを含める方法の詳細については、パッケージ化されたアプリケーションでのファイルの追加とアクセスを参照してください。入力ファイルとその依存関係から、デプロイ可能なアーカイブを作成します。詳細については、デプロイ可能なアーカイブについてを参照してください。
ターゲット固有のラッパー コードを生成します。
ターゲット固有のバイナリ パッケージを生成します。
C++ 共有ライブラリ、Java パッケージ、.NET アセンブリなどのライブラリ ターゲット用に、コンパイラは対応するサードパーティ コンパイラを呼び出します。
次のオプションを使用して MATLAB コードをパッケージ化できます。
compiler.build
関数およびcompiler.package
関数。コマンド ラインで MATLAB コードをパッケージ化できます。コンパイラ アプリ。グラフィカル インターフェイスを使用して MATLAB コードをパッケージ化できます。
mcc
関数。コマンド ラインで MATLAB コードをパッケージ化でき、パッケージ化プロセスを制御する追加オプションを提供します。
これらのパッケージ化方法の詳細については、デプロイ オプションの選択を参照してください。
デプロイ前のアーティファクトのテスト
MATLAB Runtime ではなく MATLAB インストールを使用して、MATLAB Compiler および MATLAB Compiler SDK によって生成されたアーティファクトをテストできます。通常、テストはアーティファクトの生成に使用したのと同じ MATLAB インストールで実行されます。テストに使用する MATLAB のバージョンは、アーティファクトを作成するのに使用されたバージョンと一致している必要があります。
テストが成功したら、アーティファクトを実稼働環境に転送して、MATLAB Runtime を使用して実行できます。
ターゲット プラットフォームへのファイルの配布
コンポーネントを作成したら、アプリケーション ファイル、またはターゲット プラットフォームでアプリケーションを実行するために必要なすべてのリソースを含むインストーラーのいずれかを配布します。インストーラーは、コンパイラ アプリを使用するか compiler.package.installer
関数を使用して作成できます。
compiler.package.installer
で作成されたインストーラーは、MATLAB Compiler により生成されたアーティファクト、生成されたすべてのサンプル コード、およびオプションで完全な MATLAB Runtime をインストールします。1 つ以上の特定の MATLAB Compiler アプリケーションを実行できる最小限の MATLAB Runtime インストーラーを作成するには、compiler.runtime.customInstaller
を参照してください。 (R2024b 以降)
コンパイルされたアーティファクトと MATLAB Runtime を含むインストーラーを作成すると、MATLAB Runtime がアプリケーションや共有ライブラリと共にインストールされます。ファイルを手動で配布する場合は、ターゲット マシンから MATLAB Runtime にアクセスできることを確認してください。ファイルの配布の詳細については、アプリケーション開発者への MATLAB Compiler SDK ファイルの配布を参照してください。
ターゲット言語アプリケーションとのアーティファクトの統合
他のプログラミング言語で記述されたアプリケーション内で使用するために MATLAB Compiler SDK を使用して MATLAB 関数をパッケージ化する場合、パッケージ化された MATLAB 機能を使用するアプリケーション コードをターゲット言語で記述する必要があります。詳細については、Integrate Artifact with Target Language Application (MATLAB Compiler SDK)を参照してください。
アーティファクトをターゲット言語アプリケーションと統合し、アプリケーション コードを MATLAB Runtime に対してテストした後、アプリケーションを必要なすべてのファイルおよび依存関係と共にエンド ユーザーのマシンにデプロイします。
MATLAB Runtime のインストール
MATLAB Runtime は、ライセンス版の MATLAB を必要とせずに、パッケージ化された MATLAB コードの実行を可能にする無償版の共有ライブラリセットです。詳細については、MATLAB Runtime についてを参照してください。
コンパイルされたアーティファクトと MATLAB Runtime を含むインストーラーを使用すると、MATLAB Runtime がアプリケーションや共有ライブラリと共にインストールされます。ファイルを手動で配布する場合は、コンポーネントのコンパイルに使用された MATLAB と同じかそれよりも新しいバージョンの MATLAB Runtime にターゲット マシンからアクセスできることを確認してください。
開発マシンでは、MATLAB Runtime がなくても、デプロイされたコンポーネントを MATLAB で実行できます。
制限
コマンド ラインから直接呼び出すことができるほとんどの MATLAB 機能をパッケージ化できます。MATLAB Compiler でサポートされていない関数のリストについては、MATLAB Compiler と MATLAB Compiler SDK でのコンパイルでサポートされていない関数を参照してください。
コンパイルされたアプリケーションは、いくつかの例外を除き、開発されたものと同じプラットフォームでのみ実行できます。詳細については、制限 (MATLAB Compiler SDK)を参照してください。
参考
compiler.build.Results
| compiler.package.installer
| mcc