Main Content

mcc

デプロイする MATLAB 関数のコンパイル

説明

一般的な使用方法

mcc options mfilename1 mfilename2...mfilenameN はオプションの指定に従って関数をコンパイルします。使用するオプションは、意図するコンパイル結果によって異なります。

コンパイルについての詳細は、次を参照してください。

  • スタンドアロン アプリケーション、Excel® アドイン、または Hadoop® ジョブについては、MATLAB® Compiler™mcc を参照

C 共有ライブラリ

mcc -l options mfilename1 mfilename2...mfilenameN は、リストされた関数を C 共有ライブラリにコンパイルし、他のアプリケーションと統合するための C ラッパー コードを生成します。

この構文は -W lib:libname -T link:lib と等価です。

C++ 共有ライブラリ

mcc -W cpplib:library_name[,{all|legacy|generic}] options mfilename1 mfilename2...mfilenameN は、リストされた関数を C++ 共有ライブラリにコンパイルし、他のアプリケーションと統合するための C++ ラッパー コードを生成します。

  • library_name — 共有ライブラリの名前を指定します。

  • allmwArray API と MATLAB データ API を使用する汎用インターフェイスの両方を使用して、共有ライブラリを生成します。これは既定の設定です。

  • legacymwArray API を使用して共有ライブラリを生成します。

  • generic — MATLAB データ API を使用して共有ライブラリを生成します。

COM コンポーネント

mcc -W com:component_name,className -T link:lib options class{className:mfilename1,mfilename2,...,mfilenameN} は、リストされた関数をコンパイルして汎用 Microsoft® COM コンポーネントにします。

メモ

引数 class{___} にリストされたファイル名は、コンマで区切られている必要があります。

  • component_name — COM コンポーネントの名前を指定します。

  • className — クラスの名前を指定します。

    メモ

    引数 class{___} を追加して、複数のクラス指定子を含めることができます。

.NET アセンブリ

mcc -W dotnet:assembly_name,className,framework_version,security,remote_type -T link:lib options mfilename1 mfilename2...mfilenameN は、指定されたファイルから単一のクラスをもつ .NET アセンブリを作成します。

  • assembly_name — 名前空間で始まるアセンブリの名前を指定します。これは、companyname.groupname.component のようにピリオドで区切られたリストです。

  • className — 作成する .NET クラスの名前を指定します。

  • framework_version — アセンブリのコンパイルに使用する Microsoft .NET Framework のバージョンを指定します。次のいずれかを指定してください。

    • 0.0 — ターゲット マシンでサポートされる最新バージョンを使用。

    • version_major.version_minor — 特定バージョンの Framework を使用。

    機能は、多くの場合バージョンに固有です。実装する機能のドキュメンテーションを参照し、Microsoft .NET Framework のバージョンの要件を取得してください。

  • security — 作成するアセンブリがプライベート アセンブリか共有アセンブリかを指定します。

    • プライベート アセンブリを作成するには、Private を指定。

    • 共有アセンブリを作成するには、アセンブリの署名に使用される暗号化キー ファイルへの絶対パスを指定。

  • remote_type — アセンブリのリモート処理タイプを指定します。値は remote および local です。

mcc -W dotnet:assembly_name,className,framework_version,security,remote_type -T link:lib options class{className:mfilename1,mfilename2,...,mfilenameN} は、指定されたファイルから複数のクラスをもつ .NET アセンブリを作成します。

メモ

引数 class{___} にリストされたファイル名は、コンマで区切られている必要があります。

  • assembly_name — アセンブリの名前およびその名前空間を指定します。これは、companyname.groupname.component のようにピリオドで区切られたリストです。

  • className — 作成する .NET クラスの名前を指定します。

    メモ

    追加の引数 class{___} を追加して、複数のクラス指定子を含めることができます。

  • framework_version — アセンブリのコンパイルに使用する Microsoft .NET Framework のバージョンを指定します。次のいずれかを指定してください。

    • 0.0 — ターゲット マシンでサポートされる最新バージョンを使用。

    • version_major.version_minor — 特定バージョンの Framework を使用。

    機能は、多くの場合バージョンに固有です。実装する機能のドキュメンテーションを参照し、Microsoft .NET Framework のバージョンの要件を取得してください。

  • security — 作成するアセンブリがプライベート アセンブリか共有アセンブリかを指定します。

    • プライベート アセンブリを作成するには、Private を指定。

    • 共有アセンブリを作成するには、アセンブリの署名に使用される暗号化キー ファイルへの絶対パスを指定。

  • remote_type — アセンブリのリモート処理タイプを指定します。値は remote および local です。

Java パッケージ

mcc -W java:packageName,className options mfilename1 mfilename2...mfilenameN は、指定されたファイルから Java® パッケージを作成します。

  • packageName — Java パッケージの名前およびその名前空間を指定します。これは、companyname.groupname.component のようにピリオドで区切られたリストです。

  • className — 作成するクラスの名前を指定します。クラス名を指定しない場合、mccpackageName 内の最後の項目を使用します。

mcc -W java:packageName,className options class{className:mfilename1,mfilename2,...,mfilenameN} は、指定されたファイルから、複数のクラスをもつ Java パッケージを作成します。

メモ

引数 class{___} にリストされたファイル名は、コンマで区切られている必要があります。

  • packageName — Java パッケージの名前およびその名前空間を指定します。これは、companyname.groupname.component のようにピリオドで区切られたリストです。

  • className — 作成するクラスの名前を指定します。クラス名を指定しない場合、mccpackageName 内の最後の項目を使用します。

    メモ

    追加の引数 class{___} を追加して、複数のクラス指定子を含めることができます。

Python パッケージ

mcc -W python:namespace.packageName -T link:lib options mfilename1 mfilename2...mfilenameN は、指定されたファイルから Python® パッケージを作成します。

  • namespace — パッケージのオプションの名前空間を指定します。これは、companyname.groupname.component のようにピリオドで区切られたリストです。

  • packageName — Python パッケージの名前を指定します。

MATLAB Production Server 用のデプロイ可能なアーカイブ

mcc -W CTF:archive_name -U options mfilename1 mfilename2...mfilenameN は、MATLAB Production Server™ インスタンスで使用するためのデプロイ可能なアーカイブ (.ctf ファイル) を作成するようコンパイラに指示します。

この構文は、Microsoft Excel アドイン用のサーバー側のデプロイ可能なアーカイブ (.ctf ファイル) も作成します。

MATLAB Production ServerExcel アドイン

mcc -W mpsxl:addin_name,className,version input_marshaling_flags output_marshaling_flags -T link:lib options mfilename1 mfilename2...mfilenameN は、指定されたファイルからクライアント側の Microsoft Excel アドインを作成します。これは、Excel から MATLAB Production Server へのリクエストの送信に使用できます。クライアント側のアドインを作成する前に、指定されたファイルからサーバー側のデプロイ可能なアーカイブ (.ctf ファイル) を作成する "必要があります"。クライアント側のアドインだけでは機能しません。

  • addin_name — アドインの名前を指定します。

  • className — 作成するクラスの名前を指定します。クラス名を指定しない場合、mccaddin_name を既定値として使用します。

  • versionmajor.minor として指定されているアドインのバージョンを指定します。

    • major — メジャー バージョン番号を指定します。バージョン番号を指定しない場合、mcc は最新バージョンを使用します。

    • minor — マイナー バージョン番号を指定します。バージョン番号を指定しない場合、mcc は最新バージョンを使用します。

  • input_marshaling_flagsMicrosoft Excel と MATLAB の間でデータがマーシャリングされる方法のオプションを指定します。

    • -replaceBlankWithNaNMicrosoft Excel の空白が MATLAB では NaN にマーシャリングされることを指定します。このフラグを指定しない場合、空白は 0 にマーシャリングされます。

    • -convertDateToStringMicrosoft Excel の日付が MATLAB の文字ベクトルにマーシャリングされることを指定します。このフラグを指定しない場合、日付は MATLAB の double にマーシャリングされます。

  • output_marshaling_flags — MATLAB と Microsoft Excel の間でデータがマーシャリングされる方法のオプションを指定します。

    • -replaceNaNWithZero — MATLAB の NaN が Microsoft Excel で 0 にマーシャリングされることを指定します。このフラグを指定しない場合、NaN は Visual Basic®#QNAN にマーシャリングされます。

    • -convertNumericToDate — MATLAB の数値が Microsoft Excel の日付にマーシャリングされることを指定します。このフラグを指定しない場合、Microsoft Excel は日付を出力として受け取りません。

スタンドアロン アプリケーションを作成して MATLAB の基本設定を含める

mcc -m helloWorld.m -a C:\Users\someuser\AppData\Roaming\MathWorks\MATLAB\R2022a\matlab.mlsettings

C 共有ライブラリの作成

mcc -l mymagic.m

システム レベル ファイルのバージョン番号をもつ C 共有ライブラリの作成 (Windows のみ)

Windows® で、バージョン番号 4.3.1.7 の C 共有ライブラリを作成します。

mcc -W 'lib:myCSharedLib,version=4.3.1.7' -T link:lib mymagic.m

C++ 共有ライブラリの作成

mwArray API を使用

mcc -W 'cpplib:mymagic,legacy' mymagic.m

MATLAB データ API を使用

mcc -W 'cpplib:mymagic,generic' mymagic.m

mwArray API と MATLAB データ API の両方を使用

mcc -W 'cpplib:mymagic,all' mymagic.m
または
mcc -W 'cpplib:mymagic' mymagic.m

システム レベル ファイルのバージョン番号をもつ C++ 共有ライブラリの作成 (Windows のみ)

Windows で、バージョン番号 3.7.1.5 の C++ 共有ライブラリを作成します。

mcc -W 'cpplib:mymagic,all,version=3.7.1.5' -T link:lib mymagic.m

COM コンポーネントの作成

Windows で、バージョン番号 7.10.1.3 の COM コンポーネントを作成します。

mcc -W 'com:myCOMComponent,myClass,version=7.10.1.3' -T link:lib class{myClass:mymagic.m}

複数のクラスを含む Java パッケージの作成

mcc -W 'java:myMatrix,add' class{add:add.m} class{sub:minus.m}

Python パッケージの作成

mcc -W python:myMagic -T link:lib magic.m

MATLAB Production Server 用のデプロイ可能なアーカイブの作成

mcc -W CTF:myDeployableArchive -U mymagic.m

MATLAB Production Server 用の Excel アドインの作成

mcc -W 'mpsxl:myDeployableArchvie,myExcelClass,version=1.0' -T link:lib mymagic.m

入力引数

すべて折りたたむ

1 つ以上のコンパイル対象のファイル。スペース区切りのファイル名のリストとして指定します。

クラス className に含める 1 つ以上のファイル。コンマ区切りのファイル名のリストとして指定します。この引数を繰り返して、複数のクラス指定子を含めることができます。この引数は COM コンポーネント、Java パッケージ、および .NET アセンブリのターゲットにのみ適用されます。

出力をカスタマイズするオプション。文字ベクトルまたは string スカラーのリストとして指定します。

  • -a

    -a path を使用して追加するファイルを指定し、デプロイ可能なアーカイブにファイルを追加します。複数の -a オプションを指定できます。

    また、-a path\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 を正しく呼び出す必要があります。

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

  • -c

    -l オプションとあわせて使用すると、生成された C ラッパー コードのコンパイルとリンクが省略されます。-c オプションは、-l オプションから独立して使用することはできません。

  • -C

    デプロイ可能なアーカイブをバイナリに組み込みません。

    メモ

    -C フラグは Java ライブラリでは無視されます。

  • -d

    指定したフォルダーに出力を置きます。次の構文を使用します。

    -d outFolder
    

    生成されたファイルが outFolder に送られるようになります。指定したフォルダーが既に存在していなければなりません。

  • -e

    オプション -m の代わりに -e を使用して、実行時に Windows コマンド プロンプトを開かないスタンドアロンの Windows アプリケーションを生成します。-e-W WinMain -T link:exe と等価です。

    このオプションは Windows オペレーティング システムでのみ機能します。

  • -f

    指定したオプション ファイルで既定のオプション ファイルを無効にします。具体的には C/C++ 共有ライブラリ、COM、Excel の各ターゲットが該当します。次の構文を使用します。

    -f filename
    

    これで、mbuild を呼び出すときのオプション ファイルとして filename を指定します。このオプションにより、コンパイラの別の呼び出しに対して別の ANSI コンパイラを使用できるようになります。このオプションは mbuild へのダイレクト パス スルーです。

  • -g-G

    MATLAB Compiler SDK™ で生成した C/C++ コード用のデバッグ シンボル情報を含めます。これによって、mbuild から C/C++ コンパイラへ適切なデバッグ フラグが渡されます。このデバッグ オプションを使用すると、MATLAB Runtime の初期化、関数呼び出し、または終了ルーチンのいずれでエラーが発生したかを特定できる箇所まで戻ることができます。このオプションでは、C/C++ デバッガーで MATLAB ファイルをデバッグすることはできません。

  • -I

    インクルード フォルダーのリストへ新しいフォルダー パスを追加します。各 -I オプションは、検索パスのリストの末尾にフォルダーを追加します。たとえば、

    -I <directory1> -I <directory2>
    

    は、MATLAB ファイルが最初に directory1 で検索され、次に directory2 で検索されるように検索パスを設定します。このオプションは MATLAB パスが利用できないところでスタンドアロンをコンパイルするときに重要です。

    -N オプションと併用する場合、-I オプションはフォルダーをコンパイル パスの先頭ではなく、MATLAB パス内で表示された場所と同じコンパイル パス内の場所に追加します。

  • -K

    エラーによってコンパイルが途中で終了する場合に、出力ファイルを削除しないよう mcc に指示します。

    mcc の既定の動作では、コマンドが正常に実行されない場合はすべての部分出力が破棄されます。

  • -m

    mcc にスタンドアロン アプリケーションを生成するよう指示します。

  • -M

    コンパイル時のオプションを定義します。次の構文を使用します。

    -M string
    

    これで、mbuildstring を直接渡します。たとえば -M "-Dmacro=value" のように、このオプションはコンパイル時のオプションを定義するための有用な方法を提供します。

    メモ

    -M オプションを複数指定することはできません。複数指定した場合、最も右にある -M オプションのみが使用されます。

    /bigobj などのオプションを渡すには、プラットフォームに応じて文字列を記述します。

    プラットフォーム構文

    MATLAB

    -M 'COMPFLAGS=$COMPFLAGS /bigobj'
    Windows コマンド プロンプト
    -M COMPFLAGS="$COMPFLAGS /bigobj"
    

    Linux® および macOS のコマンド ライン

    -M CFLAGS='$CFLAGS /bigobj'
  • -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

    最終的な実行可能ファイル (スタンドアロン アプリケーションのみ) の名前を指定します。次の構文を使用します。

    -o outputfile
    

    これで、MATLAB Compiler によって出力される最終的な実行可能ファイルに名前を付けます。指定した名前には、プラットフォームによって決まる適切な拡張子が追加されます (たとえば Windows スタンドアロン アプリケーションでは .exe)。

  • -p

    オプション -N と共に使用し、matlabroot\toolbox にある特定のフォルダーとサブフォルダーを MATLAB のコンパイル パスに追加します。ファイルは MATLAB パス上の表示と同じ順序で追加されます。次の構文

    -N -p directory
    

    ここで directory は、追加するフォルダーです。directory が絶対パスでない場合、現在の作業フォルダーの下とみなされます。

    • オリジナルの MATLAB パス上に存在するフォルダーを -p で指定する場合、オリジナル パス上のフォルダーとすべてのサブフォルダーは、オリジナルのパスと同じ順序でコンパイル パスに追加されます。

    • オリジナルの MATLAB パス上にないフォルダーを -p で指定する場合、このフォルダーは無視されます (このフォルダーを強制的に含めるには -I を使用します)。

  • -r

    リソース アイコンをバイナリ形式で組み込みます。構文は以下のようになります。

    -r 'path/to/my_icon.ico'

  • -R

    初期化時にアプリケーションに渡される MATLAB Runtime のオプションを提供します。

    メモ

    このオプションは、MATLAB Compiler を使用してスタンドアロン アプリケーションまたは Excel アドインをビルドする場合にのみ使用できます。

    構文は以下のようになります。

    -R option

    オプション

    説明

    ターゲット

    '-logfile,filename'

    ログ ファイル名を指定します。ファイルは、実行時にアプリケーション フォルダー内に作成されます。オプションは一重引用符で囲まなければなりません。Windows コマンド プロンプトからコマンドを実行する場合は、二重引用符を使用します。

    MATLAB Compiler

    -nodisplay

    MATLAB nodisplay の実行時警告を抑制します。

    MATLAB Compiler

    -nojvm

    JVM (Java 仮想マシン) を使用しません。

    MATLAB Compiler

    -startmsg

    初期化開始時にカスタマイズ可能なユーザー メッセージを表示します。

    MATLAB Compiler スタンドアロン アプリケーション

    -completemsg

    初期化完了時にカスタマイズ可能なユーザー メッセージを表示します。

    MATLAB Compiler スタンドアロン アプリケーション

    -singleCompThread

    MATLAB を単一の計算スレッドに制限します。

    MATLAB Compiler

    -softwareopenglレンダリングに Mesa Software の OpenGL® を使用します。

    MATLAB Compiler

    注意

    macOS 上での実行時に、mclInitializeApplication に含めるオプションの 1 つとして -nodisplay を使用する場合、mclInitializeApplication の呼び出しは mclRunMain の呼び出しよりも前になければなりません。

    メモ

    MATLAB Compiler SDK から作成されたライブラリに対して -R を指定した場合でも、mcc はコンパイルされ、結果が生成されますが、-R オプションはこれらのライブラリには適用されず、何も実行されません。

  • -s

    エンド ユーザーからのデプロイ可能なアーカイブ (.ctf ファイル) 内でフォルダー構造とファイル名を難読化します。オプションで追加のファイル タイプを暗号化します。

    -s オプションは、.m ファイル、.p ファイル、v7.3 .mat ファイル、および MEX ファイルに含まれるユーザー コードとデータを、CTF 内のユーザー パッケージに配置するよう mcc に指示します。実行時に、MATLAB コードとデータはファイル システムに抽出されるのではなく、ユーザー パッケージから直接復号化されて読み込まれます。MEX ファイルは、一時的にユーザー パッケージから抽出されてから、読み込まれます。

    追加のファイル タイプをユーザー パッケージに手動で含めるには、それぞれのファイル タイプを個別の拡張子タグでファイル matlabroot/toolbox/compiler/advanced_package_supported_files.xml に追加します。

    以下はサポートされていません。

    • 関数 ver

    • アウトプロセスの MATLAB Runtime (MATLAB データ配列の C++ 共有ライブラリ)

    • アウトプロセスでの MEX ファイルの実行 (mexhostfevalmatlab.mex.MexHost)

  • -S

    MATLAB Runtime の標準動作では、クラスの各インスタンスが固有の MATLAB Runtime コンテキストを取得します。このコンテキストには、パスなどの変数に対応するグローバル MATLAB ワークスペースと、クラス内の各関数に対応するベース ワークスペースが含まれます。1 つのクラスをもつインスタンスが複数作成された場合、各インスタンスは独自のコンテキストを取得します。これにより、該当クラスの 1 つのインスタンスにおいてグローバル ワークスペースまたはベース ワークスペースに行われた変更が、同じクラスの別のインスタンスに影響しないようになります。

    シングルトン MATLAB Runtime では、1 つのクラスのすべてのインスタンスがコンテキストを共有します。1 つのクラスに複数のインスタンスが作成される場合、それらのインスタンスは最初のインスタンスによって生成されたコンテキストを使用するため、起動時間と一部のリソースが節減されます。ただし、1 つのインスタンスによりグローバル ワークスペースまたはベース ワークスペースに行われた任意の変更は、すべてのクラス インスタンスに影響します。たとえば、シングルトン MATLAB Runtimeinstance1 がグローバル変数 A を作成した場合、instance2 は変数 A を使用できます。

    これらの特定のターゲットでは、シングルトン MATLAB Runtime は以下の製品によってのみサポートされます。

    シングルトン MATLAB Runtime がサポートするターゲットシングルトン MATLAB Runtime の作成手順
    Excel アドインターゲットの既定の動作はシングルトン MATLAB Runtime です。行わなければならないその他の手順はありません。
    .NET アセンブリターゲットの既定の動作はシングルトン MATLAB Runtime です。行わなければならないその他の手順はありません。
    COM コンポーネント
    • ライブラリ コンパイラ アプリを使用して、[設定] をクリックし、[MCC に渡される追加パラメーター] フィールドに -S を追加します。

    • mcc を使用して -S フラグを渡します。

    Java パッケージ
  • -T

    出力ターゲットの段階とタイプを指定します。

    構文 -T target を使用して出力タイプを定義します。

    ターゲット説明
    compile:exeC/C++ ラッパー ファイルを生成し、C/C++ ファイルをスタンドアロン アプリケーションへのリンクに適したオブジェクト形式にコンパイルします。
    compile:libC/C++ ラッパー ファイルを生成し、C/C++ ファイルを共有ライブラリまたは DLL へのリンクに適したオブジェクト形式にコンパイルします。
    link:execompile:exe と同じですが、さらにオブジェクト ファイルをスタンドアロン アプリケーションにリンクします。
    link:libcompile:lib と同じですが、さらにオブジェクト ファイルを共有ライブラリまたは DLL にリンクします。

  • -u

    開発マシンのみにおいて、現在のユーザーに対する COM コンポーネントを登録します。この引数は汎用 COM コンポーネントと Microsoft Excel アドインのターゲットにのみ適用されます。

  • -U

    MATLAB Production Server 用のデプロイ可能なアーカイブ (.ctf ファイル) をビルドします。

  • -v

    次の内容を含むコンパイル手順を表示します。

    • MATLAB Compiler のバージョン番号

    • 処理されるソース ファイル名

    • 生成する出力ファイル名

    • mbuild の起動

    -v オプションは mbuild-v を渡し、mbuild に関する情報を示します。

  • -w

    警告メッセージを表示します。次の構文

    -w option [:<msg>]

    は、警告表示を制御します。

    構文

    説明

    -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

    ラッパー関数の生成を制御します。次の構文

    -W type 

    を使用して、コンパイラにより生成された MATLAB ファイルの集合に対する関数ラッパーの生成を制御します。関数のリストを指定すると、コンパイラはラッパー関数および任意の適切なグローバル変数定義を生成します。

    ターゲット構文
    C 共有ライブラリ-W 'lib:libName'
    C++ 共有ライブラリ-W 'cpplib:libName[,{all|legacy|generic}]'
    COM コンポーネント-W 'com:comName,className'
    .NET アセンブリ-W 'dotnet:assemblyName,className,frameworkVersion,security,{remote|local}'
    Java パッケージ-W 'java:packageName,className'
    Python パッケージ-W 'python:packageName,className'

    メモ

    Windows コマンド プロンプトからコマンドを実行する場合は、一重引用符を二重引用符に置き換えます。

  • -X

    -X を使用すると、依存関係の解析時に共通の MATLAB ファイル I/O 関数によって読み取られるデータ ファイルが無視されます。詳細については、MATLAB Compiler を使用した依存関係の解析を参照してください。-X オプションの使用方法の例は、%#exclude を参照してください。

  • -Y

    次の構文を使用します。

     -Y license.lic

    これで、指定した引数で既定のライセンス ファイルをオーバーライドします。

    メモ

    -Y フラグはコマンド ライン モードでのみ動作します。

    >>!mcc -m foo.m -Y license.lic
  • -Z

    次の構文を使用します。

    -Z option
    デプロイ可能なアーカイブにサポート パッケージを追加する方法を指定します。

    構文説明
    -Z 'autodetect'依存関係の解析プロセスにより、必要なサポート パッケージが自動的に検出され、含められます。これは mcc の既定の動作です。
    -Z 'none'サポート パッケージは含められません。このオプションを使用すると、ランタイム エラーの原因となる可能性があります。
    -Z packagename指定されたサポート パッケージのみが含められます。複数のサポート パッケージを指定するには、複数の -Z 入力を使用します。

    メモ

    インストールされている、または特定のファイルで使用されるサポート パッケージのリストを表示するには、compiler.codetools.deployableSupportPackages を参照してください。

ヒント

  • Windows では、mcc 構文を生成するターゲットに version=version_number を追加することにより、ターゲット ファイルのシステム レベル ファイルのバージョン番号を生成できます。例については、システム レベル ファイルのバージョン番号をもつ C++ 共有ライブラリの作成 (Windows のみ)を参照してください。

    version_number — ターゲット ファイルのバージョンを、ファイル システムの major.minor.bug.build として指定します。バージョン番号の指定は必須ではありません。バージョン番号を指定しない場合、mcc はバージョン番号を既定で 1.0.0.0 に設定します。

    • major — メジャー バージョン番号を指定します。バージョン番号を指定しない場合、mccmajor1 に設定します。

    • minor — マイナー バージョン番号を指定します。バージョン番号を指定しない場合、mccminor0 に設定します。

    • bug— バグ修正メンテナンス リリース番号を指定します。バージョン番号を指定しない場合、mccbug0 に設定します。

    • build — ビルド番号を指定します。バージョン番号を指定しない場合、mccbuild0 に設定します。

    この機能は、MATLAB Compiler SDK の C 共有ライブラリ、C++ 共有ライブラリ、COM コンポーネント、.NET アセンブリ、および MATLAB Production Server 用 Excel アドインでサポートされています。MATLAB Compiler でサポートされるターゲットについては、mcc「ヒント」の節を参照してください。

バージョン履歴

R2006a より前に導入

参考