MATLAB からのスタンドアロン アプリケーションの作成
サポートされるプラットフォーム: Windows®、Linux®、macOS
この例では、MATLAB® Compiler™ を使用して、魔方陣をコマンド プロンプトに出力する関数をパッケージ化する方法を説明します。このアプリケーションを実行するために、MATLAB のライセンス コピーがターゲット システムにインストールされている必要はありません。
メモ
このアプリケーションはクロス プラットフォームでないため、実行可能ファイルのタイプは生成されたプラットフォームによって異なります。
MATLAB での関数の作成
MATLAB で、スタンドアロン アプリケーションとしてデプロイする MATLAB コードを見つけます。
この例では、 にあるファイル matlabroot\extern\examples\compilermagicsquare.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 9compiler.build.standaloneApplication を使用したスタンドアロン アプリケーションの作成
プログラムによる方法を使用して、スタンドアロン アプリケーションをビルドします。あるいは、グラフィカル インターフェイスを使用してスタンドアロン アプリケーション パッケージを作成する場合は、Create Standalone Application Using Standalone Application Compiler Appを参照してください。
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.txt— MATLAB Runtime がアプリケーションを実行するために必要な製品の製品 ID が含まれるテキスト ファイル。unresolvedSymbols.txt— 未解決のシンボルに関する情報が含まれるテキスト ファイル。
メモ
生成されたファイルには、アプリケーションまたは MATLAB Runtime のインストーラーが含まれていません。
buildResultsオブジェクトを使用してインストーラーを作成するには、compiler.package.installerを参照してください。入力引数
4を指定して MATLAB からmagicsquareをテストするには、magicsquarestandaloneApplicationフォルダーに移動し、オペレーティング システムに基づいて以下のコマンドのいずれかを実行します。オペレーティング システム MATLAB コマンド ウィンドウでのテスト Windows !magicsquare 4macOS system(['./run_magicsquare.sh ',matlabroot,' 4']);Linux !./magicsquare 4
スタンドアロン アプリケーションの実行
システム コマンド プロンプトで、スタンドアロン実行可能ファイルが含まれているフォルダーに移動します。
オペレーティング システムに基づいて次のいずれかのコマンドを使用し、入力引数
5を指定してmagicsquareを実行します。オペレーティング システム コマンド Windows magicsquare 5Linux シェル スクリプトを使用:
./run_magicsquare.sh<MATLAB_RUNTIME_INSTALL_DIR>5実行可能ファイルを使用:
./magicsquare 5macOS シェル スクリプトを使用:
./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
ヒント
Windows コマンド シェルを起動しないスタンドアロン アプリケーションを生成するには、
compiler.build.standaloneWindowsApplicationを使用します。追加のコンパイル オプションを指定するために、
mccコマンドを使用して、MATLAB Runtime やインストーラーが含まれないスタンドアロン アプリケーションを作成できます。
参考
compiler.build.standaloneApplication | compiler.build.standaloneWindowsApplication | compiler.build.Results | compiler.package.installer | スタンドアロン アプリケーション コンパイラ | mcc