-a
-a filepath
を使用して追加するファイルを指定し、デプロイ可能なアーカイブにファイルを追加します。複数の -a
オプションを指定できます。
また、-a path\to\mymatlab.mlsettings
を使用して追加する基本設定を指定し、デプロイ アプリケーションに MATLAB の基本設定を追加します。
-a
を使用してファイル名を指定した場合、コンパイラはこれらのファイルを MATLAB パスで検索するため、絶対パス名の指定は任意となります。これらのファイルは mbuild
へ渡されないため、データ ファイルなどのファイルを指定してもかまいません。詳細については、パッケージ化されたアプリケーションでのファイルへのアクセスを参照してください。
-a
オプションでフォルダー名を指定した場合、そのフォルダーのすべてのファイルがデプロイ可能なアーカイブに再帰的に追加されます。たとえば、
mcc -m hello.m -a ./testdir
は、testdir
内のすべてのファイルとそのサブフォルダー内のすべてのファイルがデプロイ可能なアーカイブに追加されるよう指定します。testdir
内のフォルダー サブツリーはデプロイ可能なアーカイブ内で保持されます。
ファイル名にワイルドカード パターンが含まれる場合、フォルダー内でパターンに一致するファイルのみがデプロイ可能なアーカイブに追加され、指定したパスのサブフォルダーは再帰的に処理されません。たとえば、
mcc -m hello.m -a ./testdir/*
は、./testdir
のすべてのファイルがデプロイ可能なアーカイブに追加され、./testdir
のサブフォルダーは再帰的に処理されないよう指定します。
mcc -m hello.m -a ./testdir/*.m
は、./testdir
の直下にあり、拡張子が .m
であるすべてのファイルがデプロイ可能なアーカイブに追加され、./testdir
のサブフォルダーは再帰的に処理されないよう指定します。
メモ
サポートされているワイルドカードは *
のみです。
コンパイル時に MATLAB パス上で表示されないファイルを、-a
を使用してデプロイ可能なアーカイブに追加する場合、ファイルがデプロイ コードの実行時にパス上に表示されるように、デプロイ アプリケーションの実行時パスにパス エントリが追加されます。
リソースへの絶対パスを指定するために -a
オプションを使用する場合、基本的なパスは維持されますが、ユーザーのローカル フォルダーではなく、ランタイム キャッシュ ディレクトリのサブディレクトリを基準に多少の変更が加えられます。キャッシュ ディレクトリは、アプリケーションの初回実行時に、デプロイ可能なアーカイブから作成されます。関数 isdeployed
を使用することで、アプリケーションがデプロイ モードで実行されているかどうかを判定し、それに応じてパスを調整できます。-a
オプションはまた、認証用の .auth
ファイルも作成します。
注意
MATLAB パス上にないファイルを含めるために -a
フラグを使用した場合、ファイルを含むフォルダーが MATLAB 依存関係の解析パスに追加されます。その結果、そのフォルダー内の他のファイルがコンパイルされたアプリケーションに含められる場合があります。
メモ
カスタム Java クラスを含めるために -a
フラグを使用する場合、Java クラスがパッケージのメンバーではない限り、スタンドアロン アプリケーションは classpath
を変更しなくても動作します。これは JAR ファイルにもあてはまります。ただし、追加するクラスがパッケージのメンバーである場合、パッケージの親フォルダーの classpath
を更新するために、MATLAB コードで javaaddpath
を正しく呼び出す必要があります。
-A
サポートされるプラットフォームをコンパイラで自動的に検出されたものに追加します。次の構文を使用します。
arch
で指定されたプラットフォームを互換性のあるプラットフォームのリストに追加します。有効なプラットフォームは win64
、maci64
、glnxa64
および all
です。-A
オプションは、Python、MATLAB データ配列 API を使用した C/C++、および Java ターゲットにのみ適用されます。
互換性のないプラットフォームでコンポーネントを実行すると、サポートされていないプラットフォームのエラー メッセージが表示され、互換性のあるプラットフォームがリストされます。
-b
Visual Basic® ファイル (.bas
) を生成します。そのファイルには、MATLAB Compiler で生成された COM オブジェクトに対応する Microsoft Excel の数式関数インターフェイスが含められています。ワークブックの Visual Basic コードにインポートすると、このコードでは MATLAB 関数がセル数式関数として表示されるようになります。
-B
mcc
コマンド ライン上のファイルを、指定したファイルの内容で置き換えます。次の構文を使用します。
-B filename[:<a1>,<a2>,...,<an>]
バンドル filename
には、mcc
コマンド ライン オプションと、それに対応する引数や他のファイル名のみを含めなければなりません。このファイルには他の -B
オプションが含まれている場合があります。バンドルは、コンパイラ オプションの名前やバージョン番号のパラメーターの置き換えを含むことができます。Using Bundles to Build MATLAB Code (MATLAB Compiler SDK)を参照してください。
-c
-l
オプションとあわせて使用すると、生成された C ラッパー コードのコンパイルとリンクが省略されます。-c
オプションは、-l
オプションから独立して使用することはできません。
-C
デプロイ可能なアーカイブをバイナリに組み込みません。
メモ
-C
フラグは Java ライブラリでは無視されます。
-d
指定したフォルダーに出力を置きます。次の構文を使用します。
生成されたファイルが outFolder
に送られるようになります。指定したフォルダーが既に存在していなければなりません。
-e
オプション -m
の代わりに -e
を使用して、実行時に Windows コマンド プロンプトを開かないスタンドアロンの Windows アプリケーションを生成します。-e
は -W WinMain -T link:exe
と等価です。
このオプションは Windows オペレーティング システムでのみ機能します。
-f
指定したオプション ファイルで既定のオプション ファイルを無効にします。具体的には C/C++ 共有ライブラリ、COM、Excel の各ターゲットが該当します。次の構文を使用します。
これで、mbuild
を呼び出すときのオプション ファイルとして filename
を指定します。このオプションにより、コンパイラの別の呼び出しに対して別の ANSI コンパイラを使用できるようになります。このオプションは mbuild
へのダイレクト パス スルーです。
-g
, -G
MATLAB Compiler SDK™ で生成した C/C++ コード用のデバッグ シンボル情報を含めます。これによって、mbuild
から C/C++ コンパイラへ適切なデバッグ フラグが渡されます。このデバッグ オプションを使用すると、MATLAB Runtime の初期化、関数呼び出し、または終了ルーチンのいずれでエラーが発生したかを特定できる箇所まで戻ることができます。このオプションでは、C/C++ デバッガーで MATLAB ファイルをデバッグすることはできません。
-h
カスタム ヘルプ テキスト ファイルを指定します。このオプションはスタンドアロン アプリケーション、C/C++ 共有ライブラリ、COM、Excel の各ターゲットが該当します。次の構文を使用します。
filename
をカスタム ヘルプ テキスト ファイルとして含めます。コマンド ラインで -?
または /?
引数を指定し、アプリケーションを呼び出して、ヘルプ ファイルの内容を表示します。
-I
インクルード フォルダーのリストへ新しいフォルダー パスを追加します。各 -I
オプションは、検索パスのリストの末尾にフォルダーを追加します。たとえば、
-I <directory1> -I <directory2>
は、MATLAB ファイルが最初に directory1
で検索され、次に directory2
で検索されるように検索パスを設定します。このオプションは MATLAB パスが利用できないところでスタンドアロンをコンパイルするときに重要です。
-N
オプションと併用する場合、-I
オプションはフォルダーをコンパイル パスの先頭ではなく、MATLAB パス内で表示された場所と同じコンパイル パス内の場所に追加します。
-j
自動的にすべての .m
ファイルを P ファイルに変換してからパッケージ化します。-j
オプションは mcc
コマンドに含まれる各 .m
ファイルに対して、.p
拡張子の付いた P コード ファイルを生成します。
P コードファイルは、MATLAB コードを難読化した、実行のみの形式です。詳細については、pcode
を参照してください。
-k
AES 暗号化キーと、実行時に復号化キーを取得するための MEX ファイルのローダー インターフェイスを指定します。
次の構文を使用します。
-k "file=<key_file_path>;loader=<mex_file_path>"
キー ファイルと MEX ファイルへのパスを指定します。
キー ファイルは、サポートされている次のいずれかの形式でなければなりません。
ローダー MEX ファイルは次の引数をもつインターフェイスでなければなりません。
prhs[0]
— 入力、固定値 'getKey'
として指定される文字型配列
prhs[1]
— 入力、CTF コンポーネント UUID として指定される文字型配列
plhs[0]
— 出力、32 バイトの UINT8 数値配列または 64 バイトの 16 進数でエンコードされた文字列配列
-k
の後に引数を指定しないと、mcc
はデモンストレーション目的で使用できる 256 ビットの AES キーとローダー MEX ファイルを生成します。
-K
エラーによってコンパイルが途中で終了する場合に、出力ファイルを削除しないよう mcc
に指示します。
mcc
の既定の動作では、コマンドが正常に実行されない場合はすべての部分出力が破棄されます。
-l
関数ライブラリを生成します。-l
は -W lib -T link:lib
と等価です。このオプションは deploytool
アプリで使用できません。
-m
スタンドアロン アプリケーションを生成します。-m
は -W main -T link:exe
と等価です。このオプションは deploytool
アプリで使用できません。
-M
コンパイル時のオプションを定義します。次の構文を使用します。
これで、mbuild
へ string
を直接渡します。たとえば -M "-Dmacro=value"
のように、このオプションはコンパイル時のオプションを定義するための有用な方法を提供します。
メモ
-M
オプションを複数指定することはできません。複数指定した場合、最も右にある -M
オプションのみが使用されます。
/bigobj
などのオプションを渡すには、プラットフォームに応じて文字列を記述します。
プラットフォーム | 構文 |
---|
MATLAB | |
Windows コマンド プロンプト | |
Linux および macOS のコマンド ライン | |
-n
-n
オプションを使用すると、数値のコマンド ライン入力が自動的に特定され、MATLAB double として扱われます。
-N
-N
を渡すと、以下のコア フォルダーを除く、すべてのフォルダーのパスが消去されます (このリストは将来変更の可能性があります)。
matlabroot\
toolbox\matlab
matlabroot
\toolbox\local
matlabroot
\toolbox\compiler
matlabroot
\toolbox\shared\bigdata
-N
が渡されると、このリストのサブフォルダーもすべて保持され、コンパイル時に MATLAB パスに表示されます。コマンド ラインに -N
を含めると、オリジナルのパスでフォルダーを置き換えることができます。一方で、パスに含まれているフォルダーの相対的な順序は保持されます。オリジナルのパスに含まれるフォルダー内のすべてのサブフォルダーも含まれます。さらに、-N
オプションは、matlabroot
\toolbox
の下位にないパスで含めたすべてのフォルダーも保持します。
–N
オプションを使用するときに、コンパイル パスの先頭に配置されるフォルダーを強制的に含めるには、–I
を使用します。条件付きでフォルダーおよびサブフォルダーを含めるようにするには、–p
オプションを使用します。フォルダーおよびサブフォルダーが MATLAB パスにある場合、コンパイル パス内に同じ順序で表示されます。
-o
最終的な実行可能ファイル (スタンドアロン アプリケーションのみ) の名前を指定します。次の構文を使用します。
これで、MATLAB Compiler によって出力される最終的な実行可能ファイルに名前を付けます。指定した名前には、プラットフォームによって決まる適切な拡張子が追加されます (たとえば Windows スタンドアロン アプリケーションでは .exe
)。
-p
オプション -N
と共に使用し、matlabroot
\toolbox
にある特定のフォルダーとサブフォルダーを MATLAB のコンパイル パスに追加します。ファイルは MATLAB パス上の表示と同じ順序で追加されます。次の構文
ここで directory
は、追加するフォルダーです。directory
が絶対パスでない場合、現在の作業フォルダーの下とみなされます。
-r
リソース アイコンをバイナリ形式で組み込みます。構文は以下のようになります。
-R
初期化時にアプリケーションに渡される MATLAB Runtime のオプションを提供します。
メモ
このオプションは、MATLAB Compiler を使用してスタンドアロン アプリケーションまたは Excel アドインをビルドする場合にのみ使用できます。MATLAB Compiler SDK から作成されたライブラリに対して -R
を指定した場合でも、mcc
はコンパイルされ、結果が生成されますが、-R
オプションはこれらのライブラリには適用されず、何も実行されません。
構文は以下のようになります。
オプション | 説明 | ターゲット |
---|
'-logfile,filename ' | ログ ファイル名を指定します。このファイルは実行時にアプリケーション フォルダー内に作成されます。これには MATLAB Runtime の初期化に関する情報と、コマンド ウィンドウにパイプされているすべてのテキストが含まれます。オプションは一重引用符で囲まなければなりません。Windows コマンド プロンプトからコマンドを実行する場合は、二重引用符を使用します。 | MATLAB Compiler |
-nodisplay | MATLAB nodisplay の実行時警告を抑制します。Linux で、MATLAB Runtime を表示機能なしで開きます。 | MATLAB Compiler |
-nojvm | JVM (Java 仮想マシン) を使用しません。 | MATLAB Compiler |
'-startmsg,message ' | 初期化開始時にカスタマイズ可能なユーザー メッセージを表示します。詳細については、MATLAB Runtime の初期化メッセージの表示を参照してください。 | MATLAB Compiler スタンドアロン アプリケーション |
'-completemsg,message ' | 初期化完了時にカスタマイズ可能なユーザー メッセージを表示します。詳細については、MATLAB Runtime の初期化メッセージの表示を参照してください。 | MATLAB Compiler スタンドアロン アプリケーション |
-singleCompThread | MATLAB を単一の計算スレッドに制限します。 | MATLAB Compiler |
-softwareopengl | レンダリングに Mesa Software の OpenGL® を使用します。 | MATLAB Compiler |
注意
macOS 上での実行時に、mclInitializeApplication
に含めるオプションの 1 つとして -nodisplay
を使用する場合、mclInitializeApplication
の呼び出しは mclRunMain
の呼び出しよりも前になければなりません。
-s
エンド ユーザーからのデプロイ可能なアーカイブ (.ctf
ファイル) 内でフォルダー構造とファイル名を難読化します。オプションで追加のファイル タイプを暗号化します。
-s
オプションは、.m
ファイル、.p
ファイル、v7.3 .mat
ファイル、および MEX ファイルに含まれるユーザー コードとデータを、CTF 内のユーザー パッケージに配置するよう mcc
に指示します。実行時に、MATLAB コードとデータはファイル システムに抽出されるのではなく、ユーザー パッケージから直接復号化されて読み込まれます。MEX ファイルは、一時的にユーザー パッケージから抽出されてから、読み込まれます。
追加のファイル タイプをユーザー パッケージに手動で含めるには、それぞれのファイル タイプを個別の拡張子タグでファイル matlabroot
/toolbox/compiler/advanced_package_supported_files.xml
に追加します。
以下はサポートされていません。
-S
すべてのクラス インスタンスで共有される単一の MATLAB Runtime インスタンスを作成します。
MATLAB Runtime の標準動作では、クラスの各インスタンスが固有の MATLAB Runtime コンテキストを取得します。このコンテキストには、パスなどの変数に対応するグローバル MATLAB ワークスペースと、クラス内の各関数に対応するベース ワークスペースが含まれます。1 つのクラスをもつインスタンスが複数作成された場合、各インスタンスは独自のコンテキストを取得します。これにより、該当クラスの 1 つのインスタンスにおいてグローバル ワークスペースまたはベース ワークスペースに行われた変更が、同じクラスの別のインスタンスに影響しないようになります。
シングルトン MATLAB Runtime では、1 つのクラスのすべてのインスタンスがコンテキストを共有します。1 つのクラスに複数のインスタンスが作成される場合、それらのインスタンスは最初のインスタンスによって生成されたコンテキストを使用するため、起動時間と一部のリソースが節減されます。ただし、1 つのインスタンスによりグローバル ワークスペースまたはベース ワークスペースに行われた任意の変更は、すべてのクラス インスタンスに影響します。たとえば、シングルトン MATLAB Runtime で instance1
がグローバル変数 A
を作成した場合、instance2
は変数 A
を使用できます。
これらの特定のターゲットでは、シングルトン MATLAB Runtime は以下の製品によってのみサポートされます。
シングルトン MATLAB Runtime がサポートするターゲット | シングルトン MATLAB Runtime の作成手順 |
---|
Excel アドイン | ターゲットの既定の動作はシングルトン MATLAB Runtime です。行わなければならないその他の手順はありません。 |
.NET アセンブリ | ターゲットの既定の動作はシングルトン MATLAB Runtime です。行わなければならないその他の手順はありません。 |
COM コンポーネント | |
Java パッケージ |
-T
出力ターゲットの段階とタイプを指定します。指定しない場合、mcc
は -W
オプションで指定されたターゲットの既定のタイプを使用します。
構文 -T target
を使用して出力タイプを定義します。
ターゲット | 説明 |
---|
compile:exe | C/C++ ラッパー ファイルを生成し、C/C++ ファイルをスタンドアロン アプリケーションへのリンクに適したオブジェクト形式にコンパイルします。 |
compile:lib | C/C++ ラッパー ファイルを生成し、C/C++ ファイルを共有ライブラリまたは DLL へのリンクに適したオブジェクト形式にコンパイルします。 |
link:exe | compile:exe と同じですが、さらにオブジェクト ファイルをスタンドアロン アプリケーションにリンクします。 |
link:lib | compile:lib と同じですが、さらにオブジェクト ファイルを共有ライブラリまたは DLL にリンクします。 |
-u
開発マシンのみにおいて、現在のユーザーに対する COM コンポーネントを登録します。この引数は汎用 COM コンポーネントと Microsoft Excel アドインのターゲットにのみ適用されます。
-U
MATLAB Production Server 用のデプロイ可能なアーカイブ (.ctf
ファイル) をビルドします。
-v
詳細な出力を表示します。出力には次の内容を含むコンパイル手順が表示されます。
MATLAB Compiler のバージョン番号
処理されるソース ファイル名
生成する出力ファイル名
mbuild
の起動
-v
オプションは mbuild
へ -v
を渡し、mbuild
に関する情報を示します。
-w
警告メッセージを表示します。次の構文
は、警告表示を制御します。
構文 | 説明 |
---|
-w list | コンパイル時警告のリストを表示します。この警告には、ID の短縮形とそのステータスが含まれます。 |
-w enable | すべてのコンパイル時警告を有効にします。 |
-w disable[:<string> ] | <string> に関連付けられた特定のコンパイル時警告を無効にします。すべてのコンパイル時警告に disable アクションを適用するには、オプションの <string> を省略します。
|
-w enable[:<string> ] | <string> に関連付けられた特定のコンパイル時警告を有効にします。すべてのコンパイル時警告に enable アクションを適用するには、オプションの <string> を省略します。
|
-w error[:<string> ] | <string> に関連した特定のコンパイル時警告と実行時警告をエラーとして扱います。すべてのコンパイル時警告と実行時警告に error アクションを適用するには、オプションの <string> を省略します。
|
-w off[:<string> ] | <string> で定義された特定のエラー メッセージに対して警告をオフにします。すべての実行時警告に off アクションを適用するには、オプションの <string> を省略します。
|
-w on[:<string> ] | <string> に関連付けられた実行時警告を有効にします。すべての実行時警告に on アクションを適用するには、オプションの <string> を省略します。このオプションは既定で有効になっています。
|
MATLAB コード内で警告をオンまたはオフに設定することもできます。
たとえば、デプロイされたアプリケーション (isdeployed
を使用して指定) に対する警告を startup.m
でオフにするには、次のように記述します。
if isdeployed
warning off
end
デプロイされたアプリケーションに対して警告をオンにするには、次にのように記述します。
if isdeployed
warning on
end
-w
オプションを複数指定することもできます。
たとえば、repeated_file
以外のすべての警告を無効にするには、次のように指定します。
-w disable -w enable:repeated_file
複数の -w
オプションを指定すると、左から右に向かって順番に処理されます。-W
ラッパー関数の生成を制御します。次の構文
を使用して、コンパイラにより生成された MATLAB ファイルの集合に対する関数ラッパーの生成を制御します。関数のリストを指定すると、コンパイラはラッパー関数および任意の適切なグローバル変数定義を生成します。
メモ
Windows コマンド プロンプトからコマンドを実行する場合は、一重引用符を二重引用符に置き換えます。
-X
-X
を使用すると、依存関係の解析時に共通の MATLAB ファイル I/O 関数によって読み取られるデータ ファイルが無視されます。詳細については、MATLAB Compiler を使用した依存関係の解析を参照してください。-X
オプションの使用方法の例は、%#exclude
を参照してください。
-Y
次の構文を使用します。
これで、指定した引数で既定のライセンス ファイルをオーバーライドします。
メモ
-Y
フラグはコマンド ライン モードでのみ動作します。
>>!mcc -m foo.m -Y license.lic
-Z
次の構文を使用します。
デプロイ可能なアーカイブにサポート パッケージを追加する方法を指定します。
構文 | 説明 |
---|
-Z 'autodetect' | 依存関係の解析プロセスにより、必要なサポート パッケージが自動的に検出され、含められます。これは mcc の既定の動作です。 |
-Z 'none' | サポート パッケージは含められません。このオプションを使用すると、ランタイム エラーの原因となる可能性があります。 |
-Z packagename | 指定されたサポート パッケージのみが含められます。複数のサポート パッケージを指定するには、複数の -Z 入力を使用します。 |