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);

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

アプリケーション コンパイラ アプリを使用したスタンドアロン アプリケーションの作成

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

    または、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. パッケージ化されたアプリケーションとその外観をカスタマイズします。

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

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

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

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

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

      • 生成された readme.txt

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

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

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

      注意

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

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

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

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

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

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

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

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

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

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

メモ

アプリケーション コンパイラ アプリを使用してスタンドアロン アプリケーションが既に作成されている場合は、この節を省略できます。一方、プログラムによる方法で MATLAB コマンド ウィンドウからスタンドアロン アプリケーションを作成する方法を確認する場合は、以下の手順に従ってください。

  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.Results オブジェクト buildResults に、ビルド タイプ、生成されたファイル、ビルド オプションに関する情報が格納されます。

  3. 関数により、現在の作業ディレクトリの magicsquarestandaloneApplication という名前のフォルダーに以下のファイルが生成されます。

    • 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 やインストーラーが含まれていません。

  4. compiler.build コマンドで、コンマ区切りの名前と値の引数ペアを 1 つ以上使用することによって、追加オプションを指定できます。

    • 'AdditionalFiles' — スタンド アプリケーションに含める追加ファイルへのパス。

    • 'AutoDetectDataFiles' — データ ファイルを自動的に含めるためのフラグ。

    • 'CustomHelpTextFile' — アプリケーションのエンド ユーザー向けヘルプ テキストが含まれるファイルへのパス。

    • 'EmbedArchive' — 生成された実行可能ファイルにスタンドアロン アーカイブを組み込むためのフラグ。

    • 'ExecutableIcon' — カスタム アイコン イメージへのパス。

    • 'ExecutableName' — 生成されたアプリケーションの名前。

    • 'ExecutableSplashScreen' — カスタム スプラッシュ スクリーン イメージへのパス。このオプションは、関数 compiler.build.standaloneWindowsApplication を使用してコンパイルしている場合にのみ使用します。

    • 'ExecutableVersion' — 生成されたアプリケーションのシステム レベル バージョン。Windows システムでのみ使用します。

    • 'OutputDirectory' — 生成されたファイルを含む出力ディレクトリへのパス。

    • 'TreatInputsAsNumeric' — コマンド ライン入力を MATLAB double の数値として解釈するためのフラグ。

    • 'Verbose' — ビルド プロセス中にコンパイラ出力を示す進行状況の情報を表示するためのフラグ。

    たとえば、実行可能ファイル名を指定し、詳細な出力を有効にすることができます。

    buildResults = compiler.build.standaloneApplication(appFile,...
        'ExecutableName','MyMagic','Verbose','On');
  5. 入力引数 4 を指定して MATLAB から magicsquare を実行するには、magicsquarestandaloneApplication フォルダーに移動し、オペレーティング システムに基づいて以下のコマンドのいずれかを実行します。

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

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

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

メモ

アプリケーション コンパイラ アプリを使用してスタンドアロン アプリケーション インストーラーが既に作成されている場合は、この節を省略できます。一方、プログラムによる方法で MATLAB コマンド プロンプトからスタンドアロン アプリケーションのインストーラーを作成する方法を確認する場合は、以下の手順に従ってください。

  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);

    この関数は、スタンドアロン アプリケーション インストーラーが含まれる新しいフォルダーを作成します。

  4. compiler.package.installer コマンドで、コンマ区切りによる 1 つ以上の名前と値の引数ペアとして、追加オプションを指定することができます。

    • 'ApplicationName' — インストールされるアプリケーション名。

    • 'AuthorCompany' — アプリケーションを作成した会社名。

    • 'AuthorEmail' — アプリケーションの作成者の電子メール アドレス。

    • 'AuthorName' — アプリケーションの作成者の名前。

    • 'DefaultInstallationDir' — アプリケーションがインストールされる既定のディレクトリ。

    • 'Description' — アプリケーションの詳細な説明。

    • 'InstallationNotes' — アプリケーションの使用に関する追加要件のメモ。

    • 'InstallerIcon' — インストーラーのアイコンとして使用するイメージ ファイルへのパス。

    • 'InstallerLogo' — インストーラーのロゴとして使用するイメージ ファイルへのパス。

    • 'InstallerName' — 生成されたインストーラーの名前。

    • 'InstallerSplash' — インストーラーのスプラッシュ スクリーンとして使用するイメージ ファイルへのパス。

    • 'OutputDir' — 生成されたインストーラーを含むフォルダーへのパス。

    • 'RuntimeDelivery'MATLAB Runtime のインストール メソッド。次のいずれかとして指定します。

      • 'web' (既定) — アプリケーションのインストール時にインストーラーが MATLAB Runtime をダウンロードするオプション。

      • 'installer' — インターネットへの接続なしでインストールできるよう、インストーラー内に MATLAB Runtime を含めるオプション。

    • 'Shortcut' — インストール時にインストーラーがショートカットを作成するファイルまたはフォルダーへのパス。Windows でのみ使用します。

    • 'Summary' — アプリケーションの概要。

    • 'Version' — 生成されたアプリケーションのバージョン番号。

    たとえば、インストーラー名を指定して、インストーラーに MATLAB Runtime を含めることができます。

    compiler.package.installer(buildResults,...
        'InstallerName','MyMagic_Install','RuntimeDelivery','installer');

スタンドアロン アプリケーションのインストール

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

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

  2. Linux や macOS でシェル スクリプトを使用せずにアプリケーションを実行するには、まず MATLAB Runtime をライブラリ パスに追加しなければなりません。詳細については、ランタイム配布用の MATLAB Runtime パスの設定を参照してください。

  3. オペレーティング システムに基づいて次のいずれかのコマンドを使用し、入力引数 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

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

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

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

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

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

参考

| | | | |

関連するトピック