Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

compiler.build.standaloneWindowsApplication

Windows コマンド シェルを起動しない、MATLAB 外部でのデプロイ用スタンドアロン アプリケーションの作成

R2020b 以降

説明

注意

この関数は Windows® オペレーティング システムでのみサポートされています。

compiler.build.standaloneWindowsApplication(AppFile) は、MATLAB® 関数、クラス、または AppFile を使って指定されたアプリを用いて、スタンドアロンの Windows 専用アプリケーションを作成します。このアプリケーションは実行時に Windows コマンド シェルを開かず、その結果コンソール出力は表示されません。生成された実行可能ファイルには .exe ファイル拡張子があり、MATLAB Runtime やインストーラーは含まれていません。

compiler.build.standaloneWindowsApplication(AppFile,Name,Value) は、名前と値の引数を 1 つ以上使って指定した追加オプションを用いて、スタンドアロンの Windows アプリケーションを作成します。オプションには実行可能ファイルの名前、バージョン番号、アイコン、スプラッシュ イメージが含まれます。

compiler.build.standaloneWindowsApplication(opts) は、compiler.build.StandaloneApplicationOptions オブジェクト opts を使って指定した追加オプションを用いて、スタンドアロンの Windows アプリケーションを作成します。名前と値の引数を使用して他のオプションを指定することはできません。

results = compiler.build.standaloneWindowsApplication(___) は、前述の構文にある引数の任意の組み合わせを使用して、ビルド情報を compiler.build.Results オブジェクトとして返します。ビルド情報は、ビルド タイプ、コンパイル済みファイルへのパス、およびビルド オプションで構成されます。

すべて折りたたむ

プロットを表示するグラフィカル スタンドアロン アプリケーションを Windows システム上で作成します。

110 の値をプロットする MATLAB 関数を記述します。この関数を myPlot.m という名前のファイルに保存します。

function myPlot()
plot(1:10)

compiler.build.standaloneWindowsApplication コマンドを使用して、スタンドアロンの Windows アプリケーションをビルドします。

compiler.build.standaloneWindowsApplication('myPlot.m');

この構文により、現在の作業ディレクトリの myPlotstandaloneApplication という名前のフォルダー内に以下のファイルが生成されます。

  • includedSupportPackages.txt — アプリケーションに含まれている、すべてのサポートされるファイルをリストしたテキスト ファイル。

  • myPlot.exe — 実行可能ファイル。

  • mccExcludedFiles.log — アプリケーションに含まれていないすべてのツールボックス関数のリストが含まれるログ ファイル。サポートされていない関数の詳細については、MATLAB Compiler の制限を参照してください。

  • readme.txt — デプロイの前提条件に関する情報と、デプロイ用にパッケージ化するファイルのリストが含まれる Readme ファイル。

  • requiredMCRProducts.txtMATLAB Runtime がアプリケーションを実行するために必要な製品の製品 ID が含まれるテキスト ファイル。

  • splash.png — アプリケーションの起動時に表示されるスプラッシュ イメージが含まれるファイル。

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

myPlot.exe を実行するには、myPlotstandaloneApplication フォルダーに移動し、ファイル ブラウザーで myPlot.exe をダブルクリックするか、MATLAB コマンド ウィンドウで !myPlot を実行するか、または Windows コマンド シェルで myPlot.exe を実行します。

アプリケーションによりスプラッシュ イメージが表示され、その後にライン プロットの MATLAB Figure が表示されます。

Figure 1 (myPlot.exe)

Figure 1

Windows システム上でグラフィカル スタンドアロン アプリケーションを作成し、名前と値の引数を使用してカスタマイズします。

xVal を、0 と 2π の間の線形に配置された値のベクトルとして作成します。値の間には π/40 のインクリメントを使用します。yVal を x の正弦値として作成します。両方の変数を myVars.mat という名前の MAT ファイルに保存します。

xVal = 0:pi/40:2*pi;
yVal = sin(xVal);
save('myVars.mat','xVal','yVal');

myPlot.m という名前の関数ファイルを作成し、xVal および yVal の各変数のライン プロットを作成します。

function myPlot()
load('myVars.mat');
plot(xVal,yVal)

関数 compiler.build.standaloneWindowsApplication を使用してスタンドアロン アプリケーションをビルドします。名前と値の引数を使用して、実行可能ファイルの名前とバージョン番号を指定します。

compiler.build.standaloneWindowsApplication('myPlot.m',...
    'ExecutableName','SineWaveApp',...
    'ExecutableVersion','2.0')

この構文により、現在の作業ディレクトリの SineWaveAppstandaloneApplication という名前のフォルダー内に以下のファイルが生成されます。

  • includedSupportPackages.txt

  • mccExcludedFiles.log

  • readme.txt

  • requiredMCRProducts.txt

  • SineWaveApp.exe

  • splash.png

  • unresolvedSymbols.txt

SineWaveApp.exe を実行するには、myPlotstandaloneApplication フォルダーに移動し、ファイル ブラウザーで SineWaveApp.exe をダブルクリックするか、MATLAB コマンド ウィンドウで !SineWaveApp.exe を実行するか、または Windows コマンド プロンプトで SineWaveApp.exe を実行します。

アプリケーションによりスプラッシュ イメージが表示され、その後に正弦波の MATLAB Figure が表示されます。

Figure 1 (SineWaveApp.exe)

Figure 1

compiler.build.StandaloneApplicationOptions オブジェクトを使用して、Windows システム上で複数のグラフィカル スタンドアロン アプリケーションを作成します。

110 の値をプロットする MATLAB 関数を記述します。この関数を myPlot.m という名前のファイルに保存します。

function myPlot()
plot(1:10)

myPlot.m を使用して StandaloneApplicationOptions オブジェクトを作成します。名前と値の引数を使用して共通の出力ディレクトリを指定し、ビルド プロセス中に進行状況の情報を表示します。

opts = compiler.build.StandaloneApplicationOptions('myPlot.m',...
    'OutputDir','D:\Documents\MATLAB\work\WindowsApps',...
    'Verbose','On')
opts =

  StandaloneApplicationOptions with properties:

            ExecutableName: 'myPlot'
        CustomHelpTextFile: ''
              EmbedArchive: on
            ExecutableIcon: 'C:\Program Files\MATLAB\R2023b\toolbox\compiler\packagingResources\default_icon_48.png'
    ExecutableSplashScreen: 'C:\Program Files\MATLAB\R2023b\toolbox\compiler\packagingResources\default_splash.png'
         ExecutableVersion: '1.0.0.0'
                   AppFile: 'myPlot.m'
      TreatInputsAsNumeric: on
           AdditionalFiles: {}s+ AutoDetectDataFiles: ons+ ObfuscateArchive: offs+ SupportPackages: {'autodetect'}
                 OutputDir: 'D:\Documents\MATLAB\work\WindowsApps'
                   Verbose: on

StandaloneApplicationOptions オブジェクトを入力としてビルド関数に渡すことで、グラフィカル スタンドアロン アプリケーションをビルドします。

compiler.build.standaloneWindowsApplication(opts);

同じオプションをもつ関数ファイル myPlot2.m を使用して新しいアプリケーションを作成するには、ビルド関数を再度実行する前に、ドット表記を使用して既存の StandaloneApplicationOptions オブジェクトの AppFile を変更します。

opts.AppFile = 'example2.m';
compiler.build.standaloneWindowsApplication(opts);

AppFile 引数を変更して再コンパイルすることにより、同じオプション オブジェクトを使用して複数のアプリケーションをコンパイルできます。

スタンドアロンの Windows アプリケーションを Windows システムで作成し、ビルド タイプ、生成ファイル、含まれるサポート パッケージ、およびビルド オプションに関する情報を compiler.build.Results オブジェクトに保存します。

ファイル Mortgage.mlapp を使用してコンパイルします。

results = compiler.build.standaloneWindowsApplication('Mortgage.mlapp')
results = 

  Results with properties:

              BuildType: 'standaloneWindowsApplication'
                  Files: {3×1 cell}
IncludedSupportPackages: {}
                Options: [1×1 compiler.build.StandaloneApplicationOptions]

Files プロパティには、以下のファイルへのパスが格納されます。

  • Mortgage.exe

  • splash.png

  • readme.txt

入力引数

すべて折りたたむ

アプリケーションのビルドに使用するメイン ファイルへのパス。行の文字ベクトルまたは string スカラーとして指定します。このファイルは、MATLAB 関数、クラス、またはアプリで、タイプは .m.p.mlx.mlapp、あるいは有効な MEX ファイルでなければなりません。

例: 'mymagic.m'

データ型: char | string

スタンドアロン アプリケーションのビルド オプション。compiler.build.StandaloneApplicationOptions オブジェクトとして指定します。

名前と値の引数

オプションのペアの引数を Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定する必要がありますが、ペアの順序は考慮されません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: OutputDir='D:\work\myproject'

スタンドアロン アプリケーションに含める追加のファイルとフォルダー。文字ベクトル、string スカラー、string 配列、または文字ベクトルの cell 配列として指定します。パスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。

例: 'AdditionalFiles',["myvars.mat","myfunc.m"]

データ型: char | string | cell

データ ファイルを自動的に含めるためのフラグ。'on' または 'off'、もしくは数値または logical の 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • このプロパティを 'on' に設定した場合、特定の関数 (loadfopen など) の入力として指定されるデータ ファイルは自動的にスタンドアロン アプリケーションに含められます。これは既定の動作です。

  • このプロパティを 'off' に設定した場合、データ ファイルは AdditionalFiles プロパティを使用してアプリケーションに追加しなければなりません。

例: 'AutoDetectDataFiles','Off'

データ型: logical

アプリケーションのエンド ユーザー向けヘルプ テキストが含まれるヘルプ ファイルへのパス。文字ベクトルまたは string スカラーとして指定します。このパスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。

例: 'CustomHelpTextFile','D:\Documents\MATLAB\work\help.txt'

データ型: char | string

デプロイ可能なアーカイブを組み込むためのフラグ。'on' または 'off'、もしくは数値または logical の 1 (true) か 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • このプロパティを 'on' に設定した場合、関数はアーカイブをデプロイ可能な実行可能ファイルに組み込みます。

  • このプロパティを 'off' に設定した場合、関数はデプロイ可能なアーカイブを別個のファイルとして生成します。

例: 'EmbedArchive','Off'

データ型: logical

アイコン イメージへのパス。文字ベクトルまたは string スカラーとして指定します。イメージは、スタンドアロン実行可能ファイルのアイコンとして使用されます。このパスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。使用可能なイメージのタイプは .jpg.jpeg.png.bmp.gif です。

既定のパスは次のとおりです。

'matlabroot\toolbox\compiler\packagingResources\default_icon_48.png'

例: 'ExecutableIcon','D:\Documents\MATLAB\work\images\myIcon.png'

データ型: char | string

生成されるアプリケーションの名前。文字ベクトルまたは string スカラーとして指定します。既定値は AppFile のファイル名です。ターゲットの出力名は英字またはアンダースコアで始まっていなければならず、また英数字とアンダースコアのみ使用できます。

例: 'ExecutableName','MagicSquare'

データ型: char | string

スプラッシュ スクリーン イメージへのパス。文字ベクトルまたは string スカラーとして指定します。このパスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。使用可能なイメージのタイプは .jpg.jpeg.png.bmp.gif です。イメージのサイズは 400 x 400 ピクセルに変更されます。

既定のパスは次のとおりです。

'matlabroot\toolbox\compiler\packagingResources\default_splash.png'

メモ

これは、compiler.build.standaloneWindowsApplication を使用してビルドされた Windows アプリケーションでのみ使用されます。

例: 'ExecutableSplashScreen','D:\Documents\MATLAB\work\images\mySplash.png'

データ型: char | string

実行可能ファイルのバージョン。文字ベクトルまたは string スカラーとして指定します。

メモ

これは Windows オペレーティング システムでのみ使用されます。

例: 'ExecutableVersion','4.0'

データ型: char | string

デプロイ可能なアーカイブを難読化するためのフラグ。'on' または 'off'、もしくは数値または logical の 1 (true) か 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • このプロパティを 'on' に設定した場合、デプロイ可能なアーカイブのフォルダー構造およびファイル名はエンド ユーザーに対して難読化され、MATLAB ファイルに含まれているユーザー コードおよびデータはアーカイブ内のユーザー パッケージに配置されます。また、すべての .m ファイルがパッケージ化の前に P ファイルに変換されます。このオプションは、-j および -s を指定して mcc を使用するのと等価です。

  • このプロパティを 'off' に設定した場合、デプロイ可能なアーカイブは難読化されません。これは既定の動作です。

例: 'ObfuscateArchive','on'

データ型: logical

ビルド ファイルが保存される出力ディレクトリへのパス。文字ベクトルまたは string スカラーとして指定します。このパスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。

ビルド フォルダーの既定の名前は、実行可能ファイル名に standaloneApplication を追加したものです。

例: 'OutputDir','D:\Documents\MATLAB\work\MagicSquarestandaloneApplication'

データ型: char | string

含めるサポート パッケージ。次のオプションのいずれかとして指定します。

  • 'autodetect' (既定) — 依存関係の分析プロセスにより、必要なサポート パッケージが自動的に検出され、含められます。

  • 'none' — サポート パッケージは含められません。このオプションを使用すると、ランタイム エラーの原因となる可能性があります。

  • string スカラー、文字ベクトル、または文字ベクトルの cell 配列 — 指定されたサポート パッケージのみが含められます。インストールされている、または特定のファイルで使用されるサポート パッケージのリストを表示するには、compiler.codetools.deployableSupportPackages を参照してください。

例: 'SupportPackages',{'Deep Learning Toolbox Converter for TensorFlow Models','Deep Learning Toolbox Model for Places365-GoogLeNet Network'}

データ型: char | string | cell

コマンド ライン入力を数値として解釈するためのフラグ。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • このプロパティを 'on' に設定した場合、コマンド ライン入力は MATLAB double の数値として扱われます。

  • このプロパティを 'off' に設定した場合、コマンド ライン入力は MATLAB 文字ベクトルとして扱われます。これは既定の動作です。

例: 'TreatInputsAsNumeric','on'

データ型: logical

ビルドの詳細を制御するためのフラグ。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • このプロパティを 'on' に設定した場合、MATLAB コマンド ウィンドウには、ビルド プロセス中のコンパイラ出力を示す進行状況情報が表示されます。

  • このプロパティを 'off' に設定した場合、コマンド ウィンドウには進行状況の情報は表示されません。これは既定の動作です。

例: 'Verbose','on'

データ型: logical

出力引数

すべて折りたたむ

ビルド結果。compiler.build.Results オブジェクトとして返されます。Results オブジェクトには以下が含まれています。

  • 'standaloneApplication' であるビルド タイプ

  • 以下のファイルへのパス:

    • ExecutableName.exe

    • splash.png

    • readme.txt

  • 含まれているサポート パッケージのリスト

  • ビルド オプション。StandaloneApplicationOptions オブジェクトとして指定

制限

  • この関数は Windows オペレーティング システムでのみサポートされています。

  • このアプリケーションは実行時に Windows コマンド シェルを開かず、その結果コンソール出力は表示されません。

ヒント

  • この関数を使用してシステム コマンド プロンプトから Windows スタンドアロン アプリケーションを作成するには、関数 matlab-batch オプションと共に使用します。以下に例を示します。

    matlab -batch compiler.build.standaloneWindowsApplication('myapp.mlapp')

バージョン履歴

R2020b で導入