このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ビルド設定の構成
ビルド タイプの指定
ビルド タイプ
MATLAB® Coder™ は以下の出力タイプを生成できます。
MEX 関数
スタンドアロン C/C++ コード
スタンドアロン C/C++ コードおよびスタティック ライブラリへのコンパイル
スタンドアロン C/C++ コードおよびダイナミック リンク ライブラリへのコンパイル
スタンドアロン C/C++ コードおよび実行可能ファイルへのコンパイル
メモ
実行可能ファイルを生成する場合は、C/C++ 実行可能ファイルの main 関数の指定で説明されているように、
main
関数を含む C/C++ ファイルを指定しなければなりません。
ファイルが生成される場所
既定では、MATLAB Coder は出力タイプに基づいた出力フォルダーにファイルを生成します。詳細は、生成ファイルと場所を参照してください。
メモ
MATLAB Coder は、同じコードまたはプロジェクトに対して同じタイプの出力を生成するたびに、前回ビルドしたファイルを削除します。新しいビルドでファイルが書き換えられないようにする場合は、ファイルを別の場所にコピーしてからビルドを開始します。
MATLAB Coder アプリを使用したビルド タイプの指定
[生成] ダイアログ ボックスを開くために、[コード生成] ページの [生成] 矢印 をクリックします。
[ビルド タイプ] を次のいずれかに設定します。
ソース コード
MEX
スタティック ライブラリ
ダイナミック ライブラリ
実行可能ファイル
[ソース コード]
を選択すると、MATLAB Coder は make コマンドを実行せず、コンパイルされたオブジェクト コードも生成しません。MATLAB コードの変更と C/C++ コードの生成を繰り返して生成されたコードを検査するときに、このオプションを指定すると時間を短縮できます。独自のコンパイラを使用して生成コードをコンパイルする場合にも、このオプションを使用できます。このオプションは [コード生成のみ] ボックスを選択して [スタティック ライブラリ]
を選択するのと同等です。
コード生成では、MEX 関数に対して、他のビルド タイプで使用されるものとは異なる一連の構成パラメーターが使用されます。出力タイプを [MEX 関数]
と [ソース]
、[スタティック ライブラリ]
、[ダイナミック ライブラリ]
または [実行可能ファイル]
の間で切り替える場合は、これらの設定を確認してください。
特定の構成パラメーターは、MEX コードとスタンドアロン コードの両方の生成に関連します。出力タイプが [MEX 関数]
のときに、このようなパラメーターのいずれかを有効にし、その同じ設定を C/C++ コードの生成に使用する場合、[C/C++ スタティック ライブラリ]
、[C/C++ ダイナミック ライブラリ]
および [C/C++ 実行ファイル]
に対して再度有効にしなければなりません。
コマンド ラインでのビルド タイプの指定
-config
オプションを使用して codegen
を呼び出します。たとえば、入力パラメーターを取らない基本関数 foo
があるとします。以下の表は、foo
のコンパイル時に異なる出力タイプを指定する方法を示しています。基本関数が入力パラメーターをもっている場合は、それらの入力を指定しなければなりません。詳細は、エントリポイント関数の入力のプロパティの指定を参照してください。
メモ
C が、MATLAB Coder でコードを生成する際の既定の言語です。C++ コードを生成するには、コード生成用言語の指定を参照してください。
生成するもの | 使用するコマンド |
---|---|
MEX 関数 (既定のコード生成オプションを使用) |
codegen foo |
MEX 関数 (コード生成オプションを指定) |
cfg = coder.config('mex'); % Set configuration parameters, for example, % enable a code generation report cfg.GenerateReport=true; % Call codegen, passing the configuration % object codegen -config cfg foo |
スタンドアロン C/C++ コードおよびライブラリへのコンパイル (既定のコード生成オプションを使用) | codegen -config:lib foo |
スタンドアロン C/C++ コードおよびライブラリへのコンパイル (コード生成オプションを指定) |
cfg = coder.config('lib'); % Set configuration parameters, for example, % enable a code generation report cfg.GenerateReport=true; % Call codegen, passing the configuration % object codegen -config cfg foo |
スタンドアロン C/C++ コードおよび実行可能ファイルへのコンパイル (既定のコード生成オプションを使用し、コマンド ラインで main.c ファイルを指定) |
codegen -config:exe main.c foo メモ C/C++ 実行可能ファイルを生成するには、 |
スタンドアロン C/C++ コードおよび実行可能ファイルへのコンパイル (コード生成オプションを指定) |
cfg = coder.config('exe'); % Set configuration parameters, for example, % specify main file cfg.CustomSource = 'main.c'; cfg.CustomInclude = 'c:\myfiles'; codegen -config cfg foo メモ C/C++ 実行可能ファイルを生成するには、 |
コード生成用言語の指定
MATLAB Coder は C または C++ のライブラリや実行可能ファイルを生成できます。C が既定の言語です。[プロジェクトの設定] ダイアログ ボックスやコマンド ラインで、言語を明示的に指定できます。
MATLAB Coder アプリを使用した言語の指定
[生成] ダイアログ ボックスを開くために、[コード生成] ページの [生成] 矢印 をクリックします。
[言語] を
[C]
または[C++]
に設定します。メモ
C++
を指定すると、MATLAB Coder はC
コードを.cpp
ファイルにラップします。C++
コンパイラを使用し、外部のC++
アプリケーションとインターフェイスを取ることができます。MATLAB Coder はC++
クラスを生成しません。
コマンド ライン インターフェイスを使用した言語の指定
ターゲット言語に適したコンパイラを選択します。
コード生成の構成オブジェクトを作成します。たとえば、ライブラリの場合は以下のとおりです。
cfg = coder.config('lib');
TargetLang
プロパティを'C'
または'C++'
に設定します。以下に例を示します。cfg.TargetLang = 'C++';
メモ
C++
を指定すると、MATLAB Coder はC
コードを.cpp
ファイルにラップします。これでC++
コンパイラを使用し、外部のC++
アプリケーションとインターフェイスで接続できるようになります。MATLAB Coder はC++
クラスを生成しません。
参考
出力ファイル名の指定
MATLAB Coder アプリを使用した出力ファイル名の指定
[生成] ダイアログ ボックスを開くために、[コード生成] ページの [生成] 矢印 をクリックします。
[出力ファイル名] フィールドにファイル名を入力します。
メモ
ファイル名にスペースを含めないでください。
既定では、最初のエントリポイントである MATLAB ファイルの名前が fcn1
の場合、出力ファイル名は次のようになります。
fcn1
(C/C++ ライブラリおよび実行可能ファイル用)。fcn1_mex
(MEX 関数用)。
既定では、MATLAB Coder はフォルダー
にファイルを生成します。project_folder
/codegen/target/fcn1
project_folder
は現在のプロジェクト フォルダーです。target
は次のようになります。mex
(MEX 関数用)lib
(C/C++ スタティック ライブラリ用)dll
(C/C++ ダイナミック ライブラリ用)exe
(C/C++ 実行可能ファイル用)
コマンド ラインを使用する場合
関数 codegen
の -o
オプションを使用します。
出力ファイルの場所の指定
MATLAB Coder アプリを使用した出力ファイルの場所の指定
出力ファイルの場所に次を含めてはなりません。
スペース (スペースを使用すると、オペレーティング システムの構成によっては、コード生成に失敗する可能性があります)
タブ
\
,$
,#
,*
,?
非 7 ビット ASCII 文字 (日本語など)
[生成] ダイアログ ボックスを開くために、[コード生成] ページの [生成] 矢印 をクリックします。
(要件に応じて) [ビルド タイプ] を
[ソース コード]
、[スタティック ライブラリ]
、[ダイナミック ライブラリ]
または[実行可能ファイル]
に設定します。[詳細設定] をクリックします。
[パス] タブをクリックします。
[ビルド フォルダー] フィールドの既定の設定は
[プロジェクト フォルダーのサブフォルダー]
です。既定では、MATLAB Coder はフォルダー
にファイルを生成します。project_folder
/codegen/target/fcn1fcn1
はアルファベット順で最初のエントリポイント ファイルの名前です。target
は次のようになります。mex
(MEX 関数用)lib
(C/C++ スタティック ライブラリ用)dll
(C/C++ ダイナミック リンク ライブラリ用)exe
(C/C++ 実行可能ファイル用)
出力場所を変更するには、以下のいずれかを行います。
[ビルド フォルダー] を
[MATLAB の現在の作業フォルダーのサブフォルダー]
に設定します。MATLAB Coder はファイルを
フォルダーに生成します。MATLAB_working_folder
/codegen/target/fcn1[ビルド フォルダー] を
[指定したフォルダー]
に設定します。[ビルド フォルダー名] フィールドにフォルダーのパスを指定します。
コマンド ラインを使用する場合
関数 codegen
の -d
オプションを使用します。
パラメーターの指定方法
作業対象 | 使用 | 詳細 |
---|---|---|
MATLAB Coder アプリ | [プロジェクトの設定] ダイアログ ボックス | MATLAB Coder アプリを使用したビルド構成パラメーターの指定 |
コマンド ラインの codegen (少数のパラメーターを指定) | 構成オブジェクト | 構成オブジェクトを使用したコマンド ラインでのビルド構成パラメーターの指定 |
ビルド スクリプト内の codegen | ||
コマンド ラインの codegen (多数のパラメーターを指定) | 構成オブジェクトのダイアログ ボックス | ダイアログ ボックスを使用したコマンド ラインでのビルド構成パラメーターの指定 |
ビルド構成パラメーターの指定
ビルド構成パラメーターは、MATLAB Coder の [プロジェクトの設定] ダイアログ ボックス、コマンド ラインまたは構成オブジェクトのダイアログ ボックスで指定できます。
MATLAB Coder アプリを使用したビルド構成パラメーターの指定
[生成] ダイアログ ボックスを開くために、[コード生成] ページの [生成] 矢印 をクリックします。
(要件に応じて) [ビルド タイプ] を
[ソース コード]
、[スタティック ライブラリ]
、[ダイナミック ライブラリ]
または[実行可能ファイル]
に設定します。[詳細設定] をクリックします。
[プロジェクトの設定] ダイアログ ボックスには、選択した出力タイプに適用可能な一連の構成パラメーターが表示されます。コード生成では、MEX 関数に対して、他のビルド タイプで使用されるものとは異なる一連の構成パラメーターが使用されます。出力タイプを
[MEX 関数]
と[ソース コード]
、[スタティック ライブラリ]
、[ダイナミック ライブラリ]
または[実行可能ファイル]
の間で切り替える場合は、これらの設定を確認してください。特定の構成パラメーターは、MEX コードとスタンドアロン コードの両方の生成に関連します。出力タイプが
[MEX 関数]
のときに、このようなパラメーターのいずれかを有効にし、その同じ設定を C/C++ コードの生成に使用する場合、[C/C++ スタティック ライブラリ]
、[C/C++ ダイナミック ライブラリ]
および[C/C++ 実行ファイル]
に対して再度有効にしなければなりません。必要に応じてパラメーターを変更します。タブ上のパラメーターの詳細については、[ヘルプ] をクリックしてください。
パラメーター設定の変更はすぐに適用されます。
構成オブジェクトを使用したコマンド ラインでのビルド構成パラメーターの指定
構成オブジェクトの型. codegen
は構成オブジェクトを使用してコード生成環境をカスタマイズします。以下の表は、利用可能な構成オブジェクトの一覧です。
構成オブジェクト | 説明 |
---|---|
使用可能な Embedded Coder® ライセンスがない場合や、Embedded Coder ライセンスの使用を無効にしている場合に、C/C++ ライブラリや実行可能ファイルを生成するためのパラメーターを指定します。 | |
Embedded Coder ライセンスが使用可能な場合に、C/C++ ライブラリや実行可能ファイルを生成するためのパラメーターを指定します。 | |
ターゲット ハードウェア実行のパラメーターを指定します。指定しなかった場合、 | |
MEX コード生成のためのパラメーターを指定します。 |
構成オブジェクトの取り扱い. 構成オブジェクトを使用してコード生成環境をカスタマイズするには、以下の手順を行います。
MATLAB ワークスペースで、構成オブジェクトの作成で説明されているように、構成オブジェクト変数を定義します。
たとえば、C スタティック ライブラリを生成するための構成オブジェクトを生成するには次のようにします。
cfg = coder.config('lib'); % Returns a coder.CodeConfig object if no % Embedded Coder license available. % Otherwise, returns a coder.EmbeddedCodeConfig object.
必要に応じて、以下のいずれかの方法を使用して構成オブジェクトのパラメーターを変更します。
対話型コマンド。構成オブジェクトを使用したコマンド ラインでのビルド構成パラメーターの指定で説明されています。
ダイアログ ボックス。ダイアログ ボックスを使用したコマンド ラインでのビルド構成パラメーターの指定で説明されています。
-config
オプションを使用して、関数codegen
呼び出します。構成オブジェクトを引数に指定します。-config
オプションは、codegen
に対して、構成プロパティの値に基づいてターゲット用のコードを生成するよう指示します。次の例では、codegen
は最初のステップで定義したコード生成構成オブジェクトcfg
のパラメーターに基づいて、MATLAB 関数foo
から C スタティック ライブラリを生成します。codegen -config cfg foo
-config
オプションはビルドする出力タイプを指定します。この場合は C スタティック ライブラリです。詳細は、codegen
を参照してください。
構成オブジェクトの作成. 構成オブジェクトは、MATLAB ワークスペースで定義できます。
作成するもの | 使用するコマンド |
---|---|
MEX 構成オブジェクトcoder.MexCodeConfig | cfg = coder.config('mex'); |
スタンドアロンの C/C++ ライブラリまたは実行可能ファイルを生成するためのコード生成構成オブジェクトcoder.CodeConfig | % To generate a static library cfg = coder.config('lib'); % To generate a dynamic library cfg = coder.config('dll') % To generate an executable cfg = coder.config('exe'); メモ Embedded Coder ライセンスが使用できる場合に、 コンカレント ライセンスを使用していて、Embedded Coder ライセンスのチェックアウトを無効にするには、以下のいずれかのコマンドを使用します。 cfg = coder.config('lib', 'ecoder', false) cfg = coder.config('dll', 'ecoder', false) cfg = coder.config('exe', 'ecoder', false) |
組み込みターゲット用のスタンドアロンの C/C++ ライブラリまたは実行可能ファイルを生成するためのコード生成構成オブジェクトcoder.EmbeddedCodeConfig | % To generate a static library cfg = coder.config('lib'); % To generate a dynamic library cfg = coder.config('dll') % To generate an executable cfg = coder.config('exe'); メモ Embedded Coder ライセンスが必要です。ライセンスがない場合は、 |
ハードウェア実行構成オブジェクト coder.HardwareImplementation | hwcfg = coder.HardwareImplementation |
各構成オブジェクトに付属する一連のパラメーターは既定値に初期化されています。コマンド ラインでのドット表記を使用した構成オブジェクトの変更で説明されているように、これらの設定を変更できます。
コマンド ラインでのドット表記を使用した構成オブジェクトの変更. ドット表記を使用して、構成オブジェクトのパラメーター値を 1 つずつ変更できます。次の構文を使用します。
configuration_object.property = value
ドット表記では代入ステートメントを使用して構成オブジェクトのプロパティを変更します。
C/C++ コードの生成中に
main
関数を指定する方法cfg = coder.config('exe'); cfg.CustomInclude = 'c:\myfiles'; cfg.CustomSource = 'main.c'; codegen -config cfg foo
C/C++ スタティック ライブラリの生成後、コード生成レポートを自動的に生成、起動する方法
cfg = coder.config('lib'); cfg.GenerateReport= true; cfg.LaunchReport = true; codegen -config cfg foo
構成オブジェクトの保存. 構成オブジェクトは、自動的には MATLAB セッション間で持続しません。以下のいずれかの方法を使用して設定を保存します。
ダイアログ ボックスを使用したコマンド ラインでのビルド構成パラメーターの指定
構成オブジェクトを作成した後、構成パラメーター ダイアログ ボックスを使用してオブジェクトのプロパティを変更できます。コマンド ライン ワークフローで対話的に構成パラメーターを指定を参照してください。