MATLAB からのスタンドアロン アプリケーションの作成
サポートされるプラットフォーム: Windows®、Linux®、macOS
この例では、コマンド プロンプトに魔方陣を出力するよう事前記述した関数を、MATLAB® Compiler™ を使用してパッケージ化する方法を説明します。このアプリケーションを実行するために、MATLAB のライセンス コピーがターゲット システムにインストールされている必要はありません。
以下のオプションを使用して、スタンドアロン アプリケーションを作成できます。
オプション | 目的 |
---|---|
アプリケーション コンパイラ | このアプリを使用すると、スタンドアロン アプリケーションと必要なすべての依存関係を、いずれもターゲット システムにインストールするインストーラーが生成されます。 |
compiler.build.standaloneApplication | この関数を使用すると、MATLAB Runtime やインストーラーが含まれないスタンドアロン アプリケーションが生成されます。Windows コマンド シェルを起動しないスタンドアロン アプリケーションを生成するには、 |
compiler.package.installer | この関数を使用すると、スタンドアロン アプリケーションと必要なすべての依存関係を、いずれもターゲット システムにインストールするインストーラーが生成されます。 |
mcc | この関数を使用すると、MATLAB Runtime やインストーラーが含まれないスタンドアロン アプリケーションが生成されます。 |
メモ
アプリケーションはクロス プラットフォームでないため、実行可能ファイルのタイプは生成されたプラットフォームによって異なります。
MATLAB での関数の作成
MATLAB で、スタンドアロン アプリケーションとしてデプロイする MATLAB コードを見つけます。
この例では、
にあるファイル matlabroot
\extern\examples\compilermagicsquare.m
を使用してコンパイルします。
function m = magicsquare(n) if ischar(n) n=str2double(n); end m = magic(n) disp(m)
MATLAB コマンド ウィンドウで、magicsquare(5)
と入力します。
出力は以下のようになります。
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
アプリケーション コンパイラ アプリを使用したスタンドアロン アプリケーションの作成
アプリケーション コンパイラ アプリを使用して、関数をスタンドアロン アプリケーションにパッケージ化します。あるいは、プログラムによる方法で MATLAB コマンド ウィンドウからスタンドアロン アプリケーションを作成する場合は、compiler.build.standaloneApplication を使用したスタンドアロン アプリケーションの作成を参照してください。
[MATLAB アプリ] タブで、[アプリ] セクションの右端にある矢印をクリックします。[アプリケーションのデプロイ] で、[アプリケーション コンパイラ] をクリックします。
または、MATLAB プロンプトで
applicationCompiler
と入力して [アプリケーション コンパイラ] アプリを開くこともできます。[MATLAB Compiler] プロジェクト ウィンドウで、デプロイする MATLAB アプリケーションのメイン ファイルを指定します。
ツールストリップの [メイン ファイル] セクションで
をクリックします。
[ファイルの追加] ウィンドウで
を参照し、matlabroot
\extern\examples\compilermagicsquare.m
を選択します。[開く] をクリックします。関数
magicsquare.m
がメイン ファイルのリストに追加されます。
[パッケージ化オプション] セクションで次の 2 つのオプションのいずれかを選択して、生成されるアプリケーションに MATLAB Runtime インストーラーを含めるかどうかを決定します。
ランタイムを Web からダウンロード — MATLAB Runtime をダウンロードしてデプロイされた MATLAB アプリケーションと共にインストールするインストーラーを生成します。
ランタイムをパッケージに含める — MATLAB Runtime インストーラーを含むインストーラーを生成します。
パッケージ化されたアプリケーションとその外観をカスタマイズします。
アプリケーション情報 — デプロイされるアプリケーションに関する編集可能な情報。また、アプリケーション アイコンとスプラッシュ スクリーンを変更して、スタンドアロン アプリケーションの外観をカスタマイズすることもできます。生成されるインストーラーはこの情報を使用して、インストールされるアプリケーションのメタデータを入力します。インストーラーのカスタマイズを参照してください。
コマンド ライン入力型のオプション — スタンドアロン アプリケーションの入力データ型の選択。詳細については、コマンド ライン入力のデータ型の決定 (スタンドアロン アプリケーションのパッケージ化の場合のみ)を参照してください。
追加インストーラー オプション — 生成されるインストーラーの既定のインストール パスの編集と、カスタム ロゴの選択。インストール パスの変更を参照してください。
アプリケーションの実行に必要なファイル — 生成されるアプリケーションの実行に必要な追加ファイル。これらのファイルは、生成されるアプリケーション インストーラーに含められます。コンパイラ プロジェクトの必須ファイルの管理を参照してください。
エンド ユーザー用にインストールされるファイル — アプリケーションと共にインストールされるファイル。これらのファイルには、以下が含まれます。
生成された
readme.txt
ターゲット プラットフォーム用に生成される実行可能ファイル
アプリケーションと共にインストールするファイルの指定を参照してください。
ランタイム追加設定 — 生成される実行可能ファイルを制御するためのプラットフォーム固有のオプション。ランタイム追加設定を参照してください。
注意
Windows オペレーティング システムでコンソールのみのアプリケーションを作成する場合、[Windows の実行コマンド シェル (コンソール) を表示しない] をオフにします。既定では、このボックスはオンになっています。このボックスがオンの場合、コンソールのみのアプリケーションからの出力は表示されません。この例はコンソールのみのアプリケーションであるため、このボックスはオフにしなければなりません。
パッケージ化されたアプリケーションを生成するには、[パッケージ化] をクリックします。
[プロジェクトを保存] ダイアログ ボックスで、プロジェクトを保存する場所を指定します。
[パッケージ] ダイアログ ボックスで、[プロセスが完了したら出力フォルダーを開く] が選択されていることを確認します。
パッケージ化プロセスが完了したら、生成された出力を調べます。
ターゲット フォルダーの場所に
for_redistribution
、for_redistribution_files_only
、for_testing
の 3 つのフォルダーが生成されます。これらのフォルダー内に生成されるファイルの詳細については、MATLAB 関数のパッケージ化後に生成されるファイルを参照してください。
PackagingLog.html
— MATLAB Compiler により生成されたログ ファイル。
スタンドアロン アプリケーションをインストールするには、スタンドアロン アプリケーションのインストールを参照してください。
compiler.build.standaloneApplication
を使用したスタンドアロン アプリケーションの作成
アプリケーション コンパイラ アプリの代わりに、プログラムによる方法を使用してスタンドアロン アプリケーションを作成できます。アプリケーション コンパイラ を使用してアプリケーションが既に作成されている場合は、スタンドアロン アプリケーションのインストールを参照してください。
MATLAB で、スタンドアロン アプリケーションとしてデプロイする MATLAB コードを見つけます。この例では、
にあるファイルmatlabroot
\extern\examples\compilermagicsquare.m
を使用してコンパイルします。appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
関数
compiler.build.standaloneApplication
を使用してスタンドアロン アプリケーションをビルドします。buildResults = compiler.build.standaloneApplication(appFile);
compiler.build
コマンドで名前と値の引数を使用して、追加オプションを指定できます。詳細については、compiler.build.standaloneApplication
を参照してください。compiler.build.Results
オブジェクトbuildResults
には、ビルド タイプ、生成ファイル、含まれるサポート パッケージ、およびビルド オプションに関する情報が含まれています。関数により、現在の作業ディレクトリの
magicsquarestandaloneApplication
という名前のフォルダーに以下のファイルが生成されます。includedSupportPackages.txt
— アプリケーションに含まれている、すべてのサポートされるファイルをリストしたテキスト ファイル。magicsquare.exe
またはmagicsquare
— Windows システムでコンパイルされた場合は.exe
拡張子をもつ実行可能ファイル、Linux システムまたは macOS システムでコンパイルされた場合は拡張子のない実行可能ファイル。run_magicsquare.sh
— ライブラリ パスを設定し、アプリケーションを実行するシェル スクリプト ファイル。このファイルは Linux システムおよび macOS システムでのみ生成されます。mccExcludedFiles.log
— アプリケーションに含まれていないすべてのツールボックス関数のリストが含まれるログ ファイル。サポートされていない関数の詳細については、MATLAB Compiler の制限を参照してください。readme.txt
— デプロイの前提条件に関する情報と、デプロイ用にパッケージ化するファイルのリストが含まれるテキスト ファイル。requiredMCRProducts.txt
— MATLAB Runtime がアプリケーションを実行するために必要な製品の製品 ID が含まれるテキスト ファイル。unresolvedSymbols.txt
— 未解決のシンボルに関する情報が含まれるテキスト ファイル。
メモ
生成されたスタンドアロン実行可能ファイルには MATLAB Runtime やインストーラーが含まれていません。
buildResults
オブジェクトを使用してインストーラーを作成するには、compiler.package.installer を使用したスタンドアロン アプリケーション インストーラーの作成を参照してください。入力引数
4
を指定して MATLAB からmagicsquare
を実行するには、magicsquarestandaloneApplication
フォルダーに移動し、オペレーティング システムに基づいて以下のコマンドのいずれかを実行します。オペレーティング システム MATLAB コマンド ウィンドウでのテスト Windows !magicsquare 4
macOS system(['./run_magicsquare.sh ',matlabroot,' 4']);
Linux !./magicsquare 4
MATLAB 外でスタンドアロン アプリケーションを実行するには、スタンドアロン アプリケーションの実行を参照してください。
compiler.package.installer
を使用したスタンドアロン アプリケーション インストーラーの作成
アプリケーション コンパイラ アプリの代わりに、以下の手順を使用して、プログラムによる方法でスタンドアロン アプリケーション インストーラーを作成できます。アプリケーション コンパイラ を使用してアプリケーション インストーラーが既に作成されている場合は、スタンドアロン アプリケーションのインストールを参照してください。
MATLAB で、スタンドアロン アプリケーションとしてデプロイする MATLAB コードを見つけます。この例では、
にあるファイルmatlabroot
\extern\examples\compilermagicsquare.m
を使用してコンパイルします。appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
関数
compiler.build.standaloneApplication
を使用してスタンドアロン アプリケーションをビルドし、出力をcompiler.build.Results
オブジェクトに保存します。buildResults = compiler.build.standaloneApplication(appFile);
Results
オブジェクトbuildResults
を関数compiler.package.installer
の入力引数として使用して、インストーラーを作成します。compiler.package.installer(buildResults);
この関数は、スタンドアロン アプリケーション インストーラーが含まれる新しいフォルダーを作成します。
名前と値の引数を使用して、追加オプションを指定できます。詳細については、
compiler.package.installer
を参照してください。たとえば、インストーラー名を指定して、インストーラーに MATLAB Runtime を含めます。
compiler.package.installer(buildResults, ... 'InstallerName','MyMagic_Install','RuntimeDelivery','installer');
スタンドアロン アプリケーションのインストール
アプリケーション コンパイラ アプリまたは関数 compiler.package.installer
で作成されたインストーラーを使用してアプリケーションをインストールするには、デプロイされたアプリケーションのインストールを参照してください。
スタンドアロン アプリケーションの実行
システム コマンド プロンプトで、スタンドアロン実行可能ファイルが含まれているフォルダーに移動します。
オペレーティング システムに基づいて次のいずれかのコマンドを使用し、入力引数
5
を指定してmagicsquare
を実行します。オペレーティング システム コマンド Windows magicsquare 5
Linux シェル スクリプトを使用:
./run_magicsquare.sh
<MATLAB_RUNTIME_INSTALL_DIR>
5実行可能ファイルを使用:
./magicsquare 5
macOS シェル スクリプトを使用:
./run_magicsquare.sh
<MATLAB_RUNTIME_INSTALL_DIR>
5実行可能ファイルを使用:
./
magicsquare.app/Contents/macOS/magicsquare 5
メモ
Linux や macOS でシェル スクリプトを使用せずにアプリケーションを実行するには、まず MATLAB Runtime をライブラリ パスに追加しなければなりません。詳細については、デプロイ用の MATLAB Runtime パスの設定を参照してください。
アプリケーションにより 5 行 5 列の魔方陣がコンソールに出力されます。
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
Linux または macOS でアプリケーションのコマンド ライン ショートカットを作成するには、
alias
コマンドを使用します。alias mymagic='/path/to/run_magicsquare.sh <MATLAB_RUNTIME_INSTALL_DIR>'
入力引数
4
を指定してアプリケーションを実行するには、ターミナルでmymagic 4
と入力します。エイリアスを永続的なものにするには、Bash シェルのファイル
~/.bash_aliases
または Zsh シェルの~/.zprofile
にコマンドを追加します。たとえば、echo "alias mymagic='~/MATLAB/apps/run_magicsquare.sh /usr/local/MATLAB/MATLAB_Runtime/R2022b'" >> ~/.bash_aliases
参考
applicationCompiler
| deploytool
| compiler.build.standaloneApplication
| compiler.build.standaloneWindowsApplication
| compiler.package.installer
| mcc