rtw_precompile_libs

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

Описание

пример

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.rtwmakecfgDirs = {fullfile(pwd, 'src')};

Задайте значения структурных полей build_spec.

Использует Name и Location элементы makeInfo.library, как возвращено rtwmakecfg function, для определения имени и местоположения предварительно скомпилированных библиотек. Если вы используете 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