Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

MATLAB からのスタンドアロン アプリケーションの作成

サポートされるプラットフォーム: Windows®、Linux®macOS

この例では、コマンド プロンプトに魔方陣を出力するよう事前記述した関数を、MATLAB® Compiler™ を使用してパッケージ化する方法を説明します。このアプリケーションを実行するために、MATLAB のライセンス コピーがターゲット システムにインストールされている必要はありません。

以下のオプションを使用して、スタンドアロン アプリケーションを作成できます。

オプション目的
アプリケーション コンパイラ

このアプリを使用すると、スタンドアロン アプリケーションと必要なすべての依存関係を、いずれもターゲット システムにインストールするインストーラーが生成されます。

compiler.build.standaloneApplication

この関数を使用すると、MATLAB Runtime やインストーラーが含まれないスタンドアロン アプリケーションが生成されます。Windows コマンド シェルを起動しないスタンドアロン アプリケーションを生成するには、compiler.build.standaloneWindowsApplication を使用します。

compiler.package.installerこの関数を使用すると、スタンドアロン アプリケーションと必要なすべての依存関係を、いずれもターゲット システムにインストールするインストーラーが生成されます。
mccこの関数を使用すると、MATLAB Runtime やインストーラーが含まれないスタンドアロン アプリケーションが生成されます。

メモ

アプリケーションはクロス プラットフォームでないため、実行可能ファイルのタイプは生成されたプラットフォームによって異なります。

MATLAB での関数の作成

MATLAB で、スタンドアロン アプリケーションとしてデプロイする MATLAB コードを見つけます。

この例では、matlabroot\extern\examples\compiler にあるファイル magicsquare.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 を使用したスタンドアロン アプリケーションの作成を参照してください。

  1. [MATLAB アプリ] タブで、[アプリ] セクションの右端にある矢印をクリックします。[アプリケーションのデプロイ] で、[アプリケーション コンパイラ] をクリックします。

    Library Compiler app header

    または、MATLAB プロンプトで applicationCompiler と入力して [アプリケーション コンパイラ] アプリを開くこともできます。

  2. [MATLAB Compiler] プロジェクト ウィンドウで、デプロイする MATLAB アプリケーションのメイン ファイルを指定します。

    1. ツールストリップの [メイン ファイル] セクションで をクリックします。

    2. [ファイルの追加] ウィンドウで matlabroot\extern\examples\compiler を参照し、magicsquare.m を選択します。[開く] をクリックします。

      関数 magicsquare.m がメイン ファイルのリストに追加されます。

  3. [パッケージ化オプション] セクションで次の 2 つのオプションのいずれかを選択して、生成されるアプリケーションに MATLAB Runtime インストーラーを含めるかどうかを決定します。

    • ランタイムを Web からダウンロードMATLAB Runtime をダウンロードしてデプロイされた MATLAB アプリケーションと共にインストールするインストーラーを生成します。

    • ランタイムをパッケージに含めるMATLAB Runtime インストーラーを含むインストーラーを生成します。

  4. パッケージ化されたアプリケーションとその外観をカスタマイズします。

    Application Compiler app with application name magicsquare

    • アプリケーション情報 — デプロイされるアプリケーションに関する編集可能な情報。また、アプリケーション アイコンとスプラッシュ スクリーンを変更して、スタンドアロン アプリケーションの外観をカスタマイズすることもできます。生成されるインストーラーはこの情報を使用して、インストールされるアプリケーションのメタデータを入力します。インストーラーのカスタマイズを参照してください。

    • コマンド ライン入力型のオプション — スタンドアロン アプリケーションの入力データ型の選択。詳細については、コマンド ライン入力のデータ型の決定 (スタンドアロン アプリケーションのパッケージ化の場合のみ)を参照してください。

    • 追加インストーラー オプション — 生成されるインストーラーの既定のインストール パスの編集と、カスタム ロゴの選択。インストール パスの変更を参照してください。

    • アプリケーションの実行に必要なファイル — 生成されるアプリケーションの実行に必要な追加ファイル。これらのファイルは、生成されるアプリケーション インストーラーに含められます。コンパイラ プロジェクトの必須ファイルの管理を参照してください。

    • エンド ユーザー用にインストールされるファイル — アプリケーションと共にインストールされるファイル。これらのファイルには、以下が含まれます。

      • 生成された readme.txt

      • ターゲット プラットフォーム用に生成される実行可能ファイル

      アプリケーションと共にインストールするファイルの指定を参照してください。

    • ランタイム追加設定 — 生成される実行可能ファイルを制御するためのプラットフォーム固有のオプション。ランタイム追加設定を参照してください。

      注意

      Windows オペレーティング システムでコンソールのみのアプリケーションを作成する場合、[Windows の実行コマンド シェル (コンソール) を表示しない] をオフにします。既定では、このボックスはオンになっています。このボックスがオンの場合、コンソールのみのアプリケーションからの出力は表示されません。この例はコンソールのみのアプリケーションであるため、このボックスはオフにしなければなりません。

  5. パッケージ化されたアプリケーションを生成するには、[パッケージ化] をクリックします。

    [プロジェクトを保存] ダイアログ ボックスで、プロジェクトを保存する場所を指定します。

  6. [パッケージ] ダイアログ ボックスで、[プロセスが完了したら出力フォルダーを開く] が選択されていることを確認します。

    パッケージ化プロセスが完了したら、生成された出力を調べます。

    • ターゲット フォルダーの場所に for_redistributionfor_redistribution_files_onlyfor_testing の 3 つのフォルダーが生成されます。

      これらのフォルダー内に生成されるファイルの詳細については、MATLAB 関数のパッケージ化後に生成されるファイルを参照してください。

    • PackagingLog.htmlMATLAB Compiler により生成されたログ ファイル。

  7. スタンドアロン アプリケーションをインストールするには、スタンドアロン アプリケーションのインストールを参照してください。

compiler.build.standaloneApplication を使用したスタンドアロン アプリケーションの作成

アプリケーション コンパイラ アプリの代わりに、プログラムによる方法を使用してスタンドアロン アプリケーションを作成できます。アプリケーション コンパイラ を使用してアプリケーションが既に作成されている場合は、スタンドアロン アプリケーションのインストールを参照してください。

  1. MATLAB で、スタンドアロン アプリケーションとしてデプロイする MATLAB コードを見つけます。この例では、matlabroot\extern\examples\compiler にあるファイル magicsquare.m を使用してコンパイルします。

    appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
  2. 関数 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.txtMATLAB Runtime がアプリケーションを実行するために必要な製品の製品 ID が含まれるテキスト ファイル。

    • unresolvedSymbols.txt — 未解決のシンボルに関する情報が含まれるテキスト ファイル。

    メモ

    生成されたスタンドアロン実行可能ファイルには MATLAB Runtime やインストーラーが含まれていません。buildResults オブジェクトを使用してインストーラーを作成するには、compiler.package.installer を使用したスタンドアロン アプリケーション インストーラーの作成を参照してください。

  3. 入力引数 4 を指定して MATLAB から magicsquare を実行するには、magicsquarestandaloneApplication フォルダーに移動し、オペレーティング システムに基づいて以下のコマンドのいずれかを実行します。

    オペレーティング システムMATLAB コマンド ウィンドウでのテスト
    Windows!magicsquare 4
    macOSsystem(['./run_magicsquare.sh ',matlabroot,' 4']);
    Linux!./magicsquare 4

  4. MATLAB 外でスタンドアロン アプリケーションを実行するには、スタンドアロン アプリケーションの実行を参照してください。

compiler.package.installer を使用したスタンドアロン アプリケーション インストーラーの作成

アプリケーション コンパイラ アプリの代わりに、以下の手順を使用して、プログラムによる方法でスタンドアロン アプリケーション インストーラーを作成できます。アプリケーション コンパイラ を使用してアプリケーション インストーラーが既に作成されている場合は、スタンドアロン アプリケーションのインストールを参照してください。

  1. MATLAB で、スタンドアロン アプリケーションとしてデプロイする MATLAB コードを見つけます。この例では、matlabroot\extern\examples\compiler にあるファイル magicsquare.m を使用してコンパイルします。

    appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
  2. 関数 compiler.build.standaloneApplication を使用してスタンドアロン アプリケーションをビルドし、出力を compiler.build.Results オブジェクトに保存します。

    buildResults = compiler.build.standaloneApplication(appFile);
  3. 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 で作成されたインストーラーを使用してアプリケーションをインストールするには、デプロイされたアプリケーションのインストールを参照してください。

スタンドアロン アプリケーションの実行

  1. システム コマンド プロンプトで、スタンドアロン実行可能ファイルが含まれているフォルダーに移動します。

  2. オペレーティング システムに基づいて次のいずれかのコマンドを使用し、入力引数 5 を指定して magicsquare を実行します。

    オペレーティング システムコマンド
    Windowsmagicsquare 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 パスの設定を参照してください。

  3. アプリケーションにより 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
  4. Linux または macOS でアプリケーションのコマンド ライン ショートカットを作成するには、alias コマンドを使用します。

    alias mymagic='/path/to/run_magicsquare.sh <MATLAB_RUNTIME_INSTALL_DIR>'

    入力引数 4 を指定してアプリケーションを実行するには、ターミナルで mymagic 4 と入力します。

  5. エイリアスを永続的なものにするには、Bash シェルのファイル ~/.bash_aliases または Zsh シェルの ~/.zprofile にコマンドを追加します。たとえば、

    echo "alias mymagic='~/MATLAB/apps/run_magicsquare.sh /usr/local/MATLAB/MATLAB_Runtime/v912'" >> ~/.bash_aliases

参考

| | | | |

関連するトピック