メインコンテンツ

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

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

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

メモ

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

MATLAB での関数の作成

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

この例では、matlabroot\extern\examples\compiler にあるファイル magicsquare.m を使用してコンパイルします。

copyfile(fullfile(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

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

プログラムによる方法を使用して、スタンドアロン アプリケーションをビルドします。あるいは、グラフィカル インターフェイスを使用してスタンドアロン アプリケーション パッケージを作成する場合は、Create Standalone Application Using Standalone Application Compiler Appを参照してください。

  1. compiler.build.standaloneApplication 関数を使用してスタンドアロン アプリケーションをビルドします。

    buildResults = compiler.build.standaloneApplication("magicsquare.m");

    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 を参照してください。

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

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

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

  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

ヒント

  • Windows コマンド シェルを起動しないスタンドアロン アプリケーションを生成するには、compiler.build.standaloneWindowsApplicationを使用します。

  • 追加のコンパイル オプションを指定するために、mcc コマンドを使用して、MATLAB Runtime やインストーラーが含まれないスタンドアロン アプリケーションを作成できます。

参考

| | | | |

トピック