Main Content

rtw_precompile_libs

モデルをビルドせずにモデル ライブラリをビルドする

説明

rtw_precompile_libs(model,build_spec)build_spec に従って model 内のライブラリをビルドしてプリコンパイルされたフォルダーに配置します。この関数を使用して新しいまたは更新された S-Function ライブラリ (MEX ファイル) をプリコンパイルすることで、モデルのビルド時間全体を削減できます。

テンプレート makefile アプローチを使用するモデル ビルドは、この関数をサポートしています。ツールチェーン アプローチを使用するモデル ビルドは、この関数をサポートしていません。

すべて折りたたむ

my_model をビルドせずに my_model 内のライブラリをビルドします。

% Specify the library suffix
if isunix
   suffix = '_std.a';
elseif ismac
   suffix = '_std.a';
else
   suffix = '_vcx64.lib';
end
open_system(my_model);
set_param(my_model, 'TargetLibSuffix',suffix);

% Set the precompiled library folder
set_param(my_model, 'TargetPreCompLibLocation',fullfile(pwd,'lib'));

% Define a build specification that specifies 
% the location of the files to compile.
my_build_spec = [];
my_build_spec.rtwmakecfgDirs = {fullfile(pwd,'src')};

% Build the libraries in 'my_model'
rtw_precompile_libs(my_model,my_build_spec);

入力引数

すべて折りたたむ

ビルドするライブラリを含んでいるモデルの名前。

ビルド仕様を定義するフィールドを持つ構造体。rtwmakecfgDirs 以外のフィールドは任意です。

名前と値の引数

例: build_spec.rtwmakecfgDirs = {fullfile(pwd, 'src')};

build_spec の構造体フィールドの値を指定します。

関数 rtwmakecfg が返す makeInfo.libraryName 要素と Location 要素を使用してプリコンパイルされたライブラリの名前と場所を指定します。TargetPreCompLibLocation パラメーターを使用してライブラリ フォルダーを指定すると makeInfo.library.Location 設定がオーバーライドされます。

指定したモデルには rtwmakecfg ファイルで指定される、プリコンパイルされたライブラリを使用する S-Function ブロックが含まれていなければなりません。ビルド アプローチによって生成される makefile には、変換にライブラリが必要な場合にのみライブラリの規則が含まれます。

例: build_spec.rtwmakecfgDirs = {fullfile(pwd, 'src')};

接尾辞にはピリオド (.) を含めなければなりません。接尾辞の設定にはこのフィールドまたは TargetLibSuffix パラメーターのいずれかを使用してください。両方の方法で接尾辞を指定した場合はこのフィールドの設定内容が TargetLibSuffix の設定によってオーバーライドされます。

例: build_spec.libSuffix = '_vcx64.lib';

true に設定した場合、関数はライブラリを最適化して整数コードからしかコンパイルされないようにします。ERT ベースのターゲットの場合にのみ適用されます。

例: build_spec.intOnlyBuild = 'false';

rtwMake コマンド ラインに含めるオプションを指定します。

例: build_spec.makeOpts = '';

この構造体の cell 配列は、関数 rtwmakecfg が指定しない、ビルドするライブラリを指定します。文字配列である 2 つのフィールドを使用して各構造体を定義します。

  • libName — 接尾辞のないライブラリ名

  • libLoc - プリコンパイルされたライブラリの場所

テンプレート makefile ビルド アプローチを使用して、その他のライブラリとそれらのビルド方法を指定できます。ライブラリをプリコンパイルしなければならない場合はこのフィールドを使用してください。

例: build_spec.addLibs = 'libs_list';

バージョン履歴

R2009b で導入