Main Content

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

mbuild

MATLAB の生成された共有ライブラリに対してソース ファイルをコンパイルおよびリンクする

構文

mbuild [option1 ... optionN] sourcefile1 [... sourcefileN]
   [objectfile1 ... objectfileN] [libraryfile1 ... libraryfileN]

説明

mbuild は、ユーザーが記述した C または C++ コードを MATLAB® の生成された共有ライブラリに対してコンパイルしてリンクします。

これらのオプションの一部 (-f-g、および -v) は mcc コマンド ラインで使用可能であり、mbuild に渡されます。その他のものは、-M オプションを使用して mcc に渡すことができます。-M オプションの詳細については、mcc リファレンス ページを参照してください。

サポートされているソース ファイルのタイプ

サポートされているソース ファイルのタイプは以下のとおりです。

  • .c

  • .cpp

オプションではなく、サポートされているソース ファイルのタイプのいずれにも属していない、mbuild への引数はライブラリ名とみなされ、リンカーに渡されます。

オプション

次の表では、mbuild の一連のオプションのリストを示します。リストにプラットフォームが示されていない場合、そのオプションは UNIX® と Windows® の両方で使用可能です。

オプション説明
@<rspfile>

(Windows のみ) mbuild へのコマンド ライン引数としてテキスト ファイル <rspfile> の内容を含めます。

-c

コンパイルのみ。オブジェクト ファイルのみを作成します。

-D<name>

C プリプロセッサにシンボル名を定義します。ソースの #define <name> 命令と等価です。

-D<name>=<value>

C プリプロセッサにシンボル名と値を定義します。ソースの #define <name> <value> 命令と等価です。

-f <optionsfile>

使用するオプション ファイルの場所と名前を指定します。mbuild の既定のオプション ファイル検索方法をオーバーライドします。

-g

デバッグで使用する追加のシンボル情報が含まれた実行可能ファイルを作成します。このオプションにより、ビルドされるオブジェクト コードを最適化する mbuild の既定の動作が無効になります (-O オプションを参照)。

-h[elp]

mbuild のヘルプを出力します。

-I<pathname>

#include ファイルを検索するフォルダーのリストに <pathname> を追加します。

-l<name>

オブジェクト ライブラリにリンクします。<name> は、Windows システムでは <name>.lib または lib<name>.lib に展開され、UNIX システムでは lib<name>.so または lib<name>.dylib に展開されます。このスイッチの後にスペースを追加しないでください。

メモ

ライブラリにリンクする場合には、まず (たとえば -I<pathname> を使用して) パスを指定する必要があります。

-L<folder>

-l オプションで指定されたライブラリを検索するフォルダーのリストに <folder> を追加します。UNIX システムでは、実行時ライブラリ パスも設定する必要があります。このスイッチの後にスペースを追加しないでください。

-n

実行なしモード。これを指定しなかった場合に mbuild で実行されるコマンドを出力しますが、それらのコマンドは実際には実行されません。

-O

オブジェクト コードを最適化します。最適化は既定で有効になっており、またコマンド ラインでこのオプションを指定することでも有効になります。-g オプションが指定されていても、-O オプションが指定されていない場合、最適化は無効になります。

-outdir <dirname>

すべての出力ファイルをフォルダー <dirname> に配置します。

-output <resultname>

<resultname> という名前の実行可能ファイルを作成します。適切な実行可能ファイルの拡張子が自動的に追加されます。mbuild の既定の実行可能ファイルの命名メカニズムをオーバーライドします。

-R2018a

インターリーブされた複素数格納表現に使用します。

mcc コマンドを使用して mxArray に基づく C 共有ライブラリまたは mwArray に基づく C++ 共有ライブラリを生成する場合、それらのライブラリは既定では実数/虚数分離型格納表現になり、この表現がパフォーマンス低下の原因になることがあります。これらの共有ライブラリでインターリーブされた表現を使用するには、mcc コマンドを実行するときに -M R2018a オプションを使用します。

mcc で生成された共有ライブラリを mbuild コマンドを使用して統合するときは、フラグが一致しなければなりません。mcc コマンドに -M -R2018a を渡している場合は、mbuild-R2018a を渡す必要があります。

-setup

mbuild の将来の呼び出しにおいて既定で使用する C/C++ コンパイラ オプション ファイルをユーザー プロファイル フォルダー (prefdir コマンドで返される) に配置して対話的に指定します。このオプションを指定した場合、他のコマンド ライン入力は受け入れられません。

-setup -client mbuild_com

mbuild の将来の呼び出しにおいて既定で使用する COM コンパイラ オプション ファイルをユーザー プロファイル フォルダー (prefdir コマンドで返される) に配置して対話的に指定します。このオプションを指定した場合、他のコマンド ライン入力は受け入れられません。

-U<name>

C プリプロセッサ シンボル <name> の初期定義を削除します。(-D オプションの逆。)

-v

詳細モード。オプション ファイルが処理され、すべてのコマンド ライン引数が考慮された後に、重要な内部変数の値を出力します。完全に評価された各コンパイル ステップおよび最終リンク ステップを出力します。

<name>=<value>

変数 <name> のオプション ファイル変数を補足またはオーバーライドします。このオプションは、オプション ファイルが処理され、すべてのコマンド ライン引数が考慮された後に処理されます。シェル構文で意味をもつスペースなどの文字を保護するために、シェルの引用構文を使用する必要が生じる場合があります。Windows では二重引用符が使用され (たとえば、COMPFLAGS="opt1 opt2")、UNIX では単一引用符が使用されます (たとえば、CFLAGS='opt1 opt2')。

既に定義されている変数を補足するためにこのオプションを使用するのが一般的です。これを行うには、$ を前に付けて変数を参照します (たとえば、Windows では COMPFLAGS="$COMPFLAGS opt2"、UNIX シェルでは CFLAGS='$CFLAGS opt2')。

gcc/g++ に基づいている MinGW-w64 コンパイラでは、単一引用符 (') を使用します。

MATLAB Compiler SDK™ で使用する既定の C/C++ コンパイラを変更するには、以下を使用します。

mbuild -setup

libfoo に対して外部 C プログラム foo.c をコンパイルおよびリンクするには、以下を使用します。

mbuild foo.c -L. -lfoo (on UNIX)
mbuild foo.c libfoo.lib (on Windows)

ここでは、foo.c と上記で生成されたライブラリの両方が現在の作業フォルダーにあることを前提としています。

バージョン履歴

R2006a より前に導入