rtw_precompile_libs

Восстановите предварительно скомпилированные библиотеки в модели, не создавая модель

Синтаксис

rtw_precompile_libs(model,build_spec)

Описание

пример

rtw_precompile_libs(model,build_spec) библиотеки сборок в model, согласно значениям полей build_spec и местам библиотеки в предварительно скомпилированной папке. Сборки модели, которые используют подход make-файла шаблона, поддерживают функцию rtw_precompile_libs. Сборки модели подхода набора инструментальных средств не поддерживают функцию rtw_precompile_libs.

Примеры

свернуть все

Создайте библиотеки в 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.

Пример: build_spec.rtwmakecfgDirs = {fullfile(pwd, 'src')};

Использует Name и элементы Location makeInfo.library, как возвращено функцией rtwmakecfg, чтобы задать название и местоположение предварительно скомпилированных библиотек. Если вы используете параметр TargetPreCompLibLocation, чтобы задать папку библиотеки, он заменяет установку makeInfo.library.Location.

Заданная модель должна содержать Блоки s-function, которые пользуются предварительно скомпилированными библиотеками, которые задают файлы rtwmakecfg. Make-файл, который генерирует подход сборки, содержит правила библиотеки, только если преобразование требует библиотек.

Пример: build_spec.rtwmakecfgDirs = {fullfile(pwd, 'src')};

Суффикс должен включать период (.). Установите суффикс или при помощи этого поля или при помощи параметра TargetLibSuffix. Если вы задаете суффикс с обоими механизмами, установка TargetLibSuffix заменяет установку этого поля.

Пример: build_spec.libSuffix = '_vcx64.lib';

Когда установлено в true, указывает, что функция оптимизирует библиотеки так, чтобы они скомпилировали из целочисленного кода только. Применяется к основанным на ERT целям только.

Пример: build_spec.intOnlyBuild = 'false';

Задает опцию, чтобы включать в командную строку rtwMake.

Пример: build_spec.makeOpts = '';

Этот массив ячеек структур задает библиотеки, чтобы создать это, функция rtwmakecfg не задает. Задайте каждую структуру с двумя полями, которые являются символьными массивами:

  • libname Имя библиотеки без суффикса

  • libLoc — Местоположение для предварительно скомпилированной библиотеки

Подход сборки (подход набора инструментальных средств или подход make-файла шаблона) позволяет вам задать другие библиотеки и как создать их. Используйте это поле, если необходимо предварительно скомпилировать библиотеки.

Пример: build_spec.addLibs = 'libs_list';

Представленный в R2009b