compiler.build.standaloneWindowsApplication
Windows コマンド シェルを起動しない、MATLAB 外部でのデプロイ用スタンドアロン アプリケーションの作成
構文
説明
注意
この関数は Windows® オペレーティング システムでのみサポートされています。
compiler.build.standaloneWindowsApplication( は、MATLAB® 関数、クラス、または AppFile)AppFile を使って指定されたアプリを用いて、スタンドアロンの Windows 専用アプリケーションを作成します。このアプリケーションは実行時に Windows コマンド シェルを開かず、その結果コンソール出力は表示されません。生成された実行可能ファイルには .exe ファイル拡張子があり、MATLAB Runtime やインストーラーは含まれていません。
compiler.build.standaloneWindowsApplication( は、名前と値の引数を 1 つ以上使って指定した追加オプションを用いて、スタンドアロンの Windows アプリケーションを作成します。オプションには実行可能ファイルの名前、バージョン番号、アイコン、スプラッシュ イメージが含まれます。AppFile,Name,Value)
compiler.build.standaloneWindowsApplication( は、opts)compiler.build.StandaloneApplicationOptions オブジェクト opts を使って指定した追加オプションを用いて、スタンドアロンの Windows アプリケーションを作成します。名前と値の引数を使用して他のオプションを指定することはできません。
例
プロットを表示するグラフィカル スタンドアロン アプリケーションを Windows システム上で作成します。
1 ~ 10 の値をプロットする 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.txt— MATLAB Runtime がアプリケーションを実行するために必要な製品の製品 ID が含まれるテキスト ファイル。splash.png— アプリケーションの起動時に表示されるスプラッシュ イメージが含まれるファイル。unresolvedSymbols.txt— 未解決のシンボルがすべて含まれるテキスト ファイル。
myPlot.exe を実行するには、myPlotstandaloneApplication フォルダーに移動し、ファイル ブラウザーで myPlot.exe をダブルクリックするか、MATLAB コマンド ウィンドウで !myPlot を実行するか、または Windows コマンド シェルで myPlot.exe を実行します。
アプリケーションによりスプラッシュ イメージが表示され、その後にライン プロットの MATLAB Figure が表示されます。
Figure 1 (myPlot.exe)

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.txtmccExcludedFiles.logreadme.txtrequiredMCRProducts.txtSineWaveApp.exesplash.pngunresolvedSymbols.txt
SineWaveApp.exe を実行するには、myPlotstandaloneApplication フォルダーに移動し、ファイル ブラウザーで SineWaveApp.exe をダブルクリックするか、MATLAB コマンド ウィンドウで !SineWaveApp.exe を実行するか、または Windows コマンド プロンプトで SineWaveApp.exe を実行します。
アプリケーションによりスプラッシュ イメージが表示され、その後に正弦波の MATLAB Figure が表示されます。
Figure 1 (SineWaveApp.exe)

compiler.build.StandaloneApplicationOptions オブジェクトを使用して、Windows システム上で複数のグラフィカル スタンドアロン アプリケーションを作成します。
1 ~ 10 の値をプロットする 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:
CustomHelpTextFile: ''
EmbedArchive: on
ExecutableIcon: 'C:\Program Files\MATLAB\R2025b\toolbox\compiler\packagingResources\default_icon_48.png'
ExecutableName: 'myPlot'
ExecutableSplashScreen: 'C:\Program Files\MATLAB\R2025b\toolbox\compiler\packagingResources\default_splash.png'
ExecutableVersion: '1.0.0.0'
AppFile: 'myPlot.m'
TreatInputsAsNumeric: on
AdditionalFiles: {}
AutoDetectDataFiles: on
ExternalEncryptionKey: [0×0 struct]
ObfuscateArchive: off
SecretsManifest: ''
SupportPackages: {'autodetect'}
Verbose: on
OutputDir: 'D:\Documents\MATLAB\work\WindowsApps'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]
RuntimeDependencies: [1×1 compiler.runtime.Dependencies]Files プロパティには、以下のファイルへのパスが格納されます。
Mortgage.exesplash.pngreadme.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'に設定した場合、特定の関数 (loadやfopenなど) の入力として指定されるデータ ファイルは自動的にスタンドアロン アプリケーションに含められます。これは既定の動作です。このプロパティを
'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
R2024b 以降
外部の AES 暗号化キー ファイルおよび MEX キー ローダー ファイルへのパス。char 行ベクトルまたは string スカラーの正確に 2 つのフィールドをもつスカラー struct として指定します。フィールド名はそれぞれ EncryptionKeyFile と RuntimeKeyLoaderFile です。struct のフィールドはどちらも必須です。ファイル パスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。
たとえば、struct keyValueStruct を使用して暗号化キーを encrypt.key、ローダー ファイルを loader.mexw64 と指定します。
keyValueStruct.EncryptionKeyFile='encrypt.key'; keyValueStruct.RuntimeKeyLoaderFile='loader.mexw64'
暗号化キー ファイルは、サポートされている次のいずれかの形式でなければなりません。
バイナリ 256 ビットの AES キー、32 バイトのファイル サイズ
16 進数でエンコードされた AES キー、64 バイトのファイル サイズ
MEX ファイル ローダーは実行時に復号化キーを取得します。これは次の引数をもつインターフェイスでなければなりません。
prhs[0]— 入力、固定値'get'として指定される char 配列prhs[1]— 入力、CTF コンポーネント UUID として指定される char 配列plhs[0]— 出力、キーの形式に応じて 32 バイトの UINT8 数値配列または 64 バイトの 16 進数でエンコードされた char 配列
複数の CTF で同じキーを共有することは避けてください。
例: 'ExternalEncryptionKey',keyValueStruct
データ型: struct
デプロイ可能なアーカイブを難読化するためのフラグ。'on'/1/true または 'off'/0/false として指定します。値は、matlab.lang.onoffSwitchState 型の on/off の logical 値として保存されます。
このプロパティを 'on' に設定した場合、デプロイ可能なアーカイブのフォルダー構造およびファイル名はエンド ユーザーに対して難読化され、.m、.mlapp、.p、.mat、MLX、SFX、および MEX ファイルに含まれているユーザー コードおよびデータはアーカイブ内のユーザー パッケージに配置されます。また、すべての .m ファイルがパッケージ化の前に P ファイルに変換されます。
実行時に、MATLAB コードとデータはファイル システムに抽出されるのではなく、ユーザー パッケージから直接復号化されて読み込まれます。MEX ファイルは、一時的にユーザー パッケージから抽出されてから、読み込まれます。
追加のファイル タイプをユーザー パッケージに手動で含めるには、それぞれのファイル タイプを個別の拡張子タグでファイル に追加します。matlabroot/toolbox/compiler/advanced_package_supported_files.xml
以下はサポートされて "いません"。
ver関数DLL などの外部ライブラリの呼び出し
アウトプロセスの MATLAB Runtime (MATLAB データ配列の C++ 共有ライブラリ)
アウトプロセスでの MEX ファイルの実行 (
mexhost、feval、matlab.mex.MexHost)R2023b より前: v7.3 以外の
.matファイル
このオプションを有効にすることは、-j および -s を指定して mcc を使用するのと等価です。
このプロパティを 'off' に設定した場合、デプロイ可能なアーカイブは難読化されません。これは既定の動作です。
例: 'ObfuscateArchive','on'
データ型: logical
ビルド ファイルが保存される出力ディレクトリへのパス。文字ベクトルまたは string スカラーとして指定します。このパスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。
ビルド フォルダーの既定の名前は、実行可能ファイル名に standaloneApplication を追加したものです。
例: 'OutputDir','D:\Documents\MATLAB\work\MagicSquarestandaloneApplication'
データ型: char | string
R2024b 以降
デプロイ可能なアーカイブに組み込む秘密鍵を指定する secret マニフェスト JSON ファイルへのパス。文字ベクトルまたは string スカラーとして指定します。このパスは現在の作業ディレクトリを基準とした相対パス、または絶対パスにできます。
MATLAB コードで関数 getSecret、getSecretMetadata、または isSecret を呼び出す場合、デプロイ可能なアーカイブに組み込む秘密鍵を JSON secret マニフェスト ファイルで指定しなければなりません。コードで getSecret を呼び出す場合に SecretsManifest オプションが指定されていないと、MATLAB Compiler™ は警告を発行し、 という名前の出力フォルダーにテンプレート JSON ファイルを生成します。"Embedded" フィールドで秘密鍵の名前を指定して、このファイルを修正します。<component_name>_secrets_manifest.json
関数 setSecret はデプロイ可能ではありません。デプロイ可能なアーカイブに秘密鍵を組み込むには、アーカイブをビルドする前に MATLAB で setSecret を呼び出す必要があります。
シークレットを使用したデプロイの詳細については、Handle Sensitive Information in Deployed Applicationsを参照してください。
例: 'SecretsManifest','D:\Documents\MATLAB\work\mycomponent\mycomponent_secrets_manifest.json'
データ型: 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.exesplash.pngreadme.txt
含まれているサポート パッケージのリスト
ビルド オプション。
StandaloneApplicationOptionsオブジェクトとして指定
制限
この関数は Windows オペレーティング システムでのみサポートされています。
このアプリケーションは実行時に Windows コマンド シェルを開かず、その結果コンソール出力は表示されません。
ヒント
この関数を使用してシステム コマンド プロンプトから Windows スタンドアロン アプリケーションを作成するには、関数
matlabを-batchオプションと共に使用します。以下に例を示します。matlab -batch compiler.build.standaloneWindowsApplication('myapp.mlapp')
バージョン履歴
R2020b で導入MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)