Когда вы генерируете предварительно скомпилированный, непредварительно скомпилированный, и библиотеки модели - ссылки, можно управлять местоположением библиотеки и именем библиотеки при помощи параметров конфигурации. Эти параметры управляют значениями в сгенерированных make-файлах во время сборок модели:
Для процессов сборки, которые используют подход набора инструментальных средств, управляйте сгенерированным местоположением библиотеки при помощи TargetPreCompLibLocation параметр конфигурации.
Для процессов сборки, которые используют подход make-файла шаблона, управляйте сгенерированным местоположением библиотеки при помощи TargetPreCompLibLocation параметр конфигурации и управление сгенерированное имя библиотеки при помощи TargetLibSuffix параметр конфигурации.
Используйте параметры управления библиотеки для:
Задайте местоположение предварительно скомпилированных библиотек, таких как библиотеки blockset или библиотека блоков Simulink® Coder™. Как правило, цель кросс-скомпилировала версии этих библиотек и размещает их в целевую папку.
Управление суффикс применилось к именам файлов библиотеки (например, _target.a или _target.lib).
Цели могут установить параметры в коллбэке выбора системного конечного файла (STF). Например:
function mytarget_select_callback_handler(varargin)
hDig=varargin{1};
hSrc=varargin{2};
slConfigUISetVal(hDig, hSrc, 'TargetPreCompLibLocation',...
'c:\mytarget\precomplibs');
slConfigUISetVal(hDig, hSrc, 'TargetLibSuffix',...
'_target.library');TMF имеет соответствующие лексемы расширения:
|>EXPAND_LIBRARY_LOCATION<|
|>EXPAND_LIBRARY_SUFFIX<|В качестве альтернативы можно использовать вызов set_param функция. Например:
set_param(model,'TargetPreCompLibLocation',... 'c:\mytarget\precomplibs');
Если ваша модель содержит модели, на которые ссылаются, можно использовать сделать опцию USE_MDLREF_LIBPATHS управлять, копируются ли библиотеки, пользовавшиеся моделями, на которые ссылаются, в папку сборки родительской модели. Для получения дополнительной информации смотрите Местоположение Библиотек Модели - ссылки.
Подход набора инструментальных средств для сборок модели не использует значение TargetLibSuffix параметр конфигурации, чтобы выбрать имя файла библиотеки и suffix. extension
С подходом набора инструментальных средств итоговое бинарное имя состоит из , modelname, и compilername если описанием инструмента сборки в определении набора инструментальных средств:extension
model_compilername.extensionМожно идентифицировать статическое расширение файла библиотеки из описания инструмента сборки в определении набора инструментальных средств. Чтобы получить эту информацию для набора инструментальных средств по умолчанию, используйте эту процедуру:
Получите имя набора инструментальных средств по умолчанию. Например, введите:
tc_name = coder.make.getDefaultToolchain()Получите указатель набора инструментальных средств по умолчанию. Например, введите:
tc = coder.make.getToolchainInfoFromRegistry(tc_name)
Получите указатель на объект набора инструментальных средств. Например, введите:
tool_archiver = tc.getBuildTool('Archiver');Получите расширение. Например, введите:
ext_archiver = tool_archiver.getFileExtension('Static Library'); Если вы не устанавливаете TargetLibSuffix параметр, make-файл шаблона и подходы набора инструментальных средств производят то же статическое имя файла библиотеки . Смотрите настраивают суффикс файла библиотеки и тип файла (Simulink Coder).extension
Используйте TargetPreCompLibLocation параметр конфигурации к:
Замените предварительно скомпилированное местоположение библиотеки, заданное в rtwmakecfg.m файл (см. Использование rtwmakecfg.m API, чтобы Настроить Сгенерированные Make-файлы для деталей),
Предварительно скомпилируйте и распределите целевые версии библиотек продукта (например, продукт DSP System Toolbox™)
Для предварительно скомпилированной библиотеки, такой как blockset библиотека или библиотека блоков Simulink Coder, местоположение задано в rtwmakecfg.m обычно местоположение, характерное для blockset или продукта Simulink Coder. Генератор кода ожидает, что библиотека существует в этом месте и ссылках против библиотеки во время сборок.
Для некоторых приложений, таких как пользовательские цели, желательно определять местоположение предварительно скомпилированных библиотек в целевом или другом альтернативном месте, а не в месте, заданном в rtwmakecfg.m. Для пользовательской цели генератор кода ожидает, что целевой кросс-компилятор создает библиотеку, и вы размещаете библиотеку в целевое местоположение. Скомпилируйте и разместите библиотеки, поддержанные к установленному сроку в целевом месте, таким образом, они могут использоваться во время процесса сборки.
Можно настроить TargetPreCompLibLocation параметр в его избранном коллбэке. Путь, который вы задаете для параметра, должен быть полностью определенным, абсолютным путем к местоположению библиотеки. Относительные пути не поддержаны. Например:
slConfigUISetVal(hDlg, hSrc, 'TargetPreCompLibLocation',... 'c:\mytarget\precomplibs');
В качестве альтернативы вы устанавливаете параметр с вызовом set_param функция. Например:
set_param(model,'TargetPreCompLibLocation',... 'c:\mytarget\precomplibs');
Во время генерации make-файла процесс сборки заменяет лексемы на местоположение от rtwmakecfg.m файл. Например, если имя библиотеки в rtwmakecfg.m файлом является 'rtwlib', подход сборки make-файла шаблона расширяет лексему от:
LIBS += |>EXPAND_LIBRARY_LOCATION<|\|>EXPAND_LIBRARY_NAME<|\ _target.library
к:
LIBS += c:\mytarget\precomplibs\rtwlib_target.library
По умолчанию, TargetPreCompLibLocation пустой символьный вектор. Процесс сборки использует местоположение в rtwmakecfg.m для маркерной замены.
Процесс сборки присваивает путь, такой как ../slprj/grt/sub/sub_rtwlib.lib к MODELREF_LINK_LIBS. Процесс сборки использует путь, чтобы получить доступ к файлу библиотеки во время ссылки.
С подходом make-файла шаблона для сборок модели используйте TargetLibSuffix параметр конфигурации, чтобы управлять суффиксом применился к именам библиотеки (например, _target.lib или _target.a). Заданная суффиксная схема должна включать период (.). Можно применить TargetLibSuffix к следующим библиотекам:
Библиотеки, от которых цель зависит, как задано в rtwmakecfg.m API. Можно использовать TargetLibSuffix изменить суффикс и предварительно скомпилированных и непредварительно скомпилированных библиотек, сконфигурированных от rtwmakecfg API. Для получения дополнительной информации смотрите Использование rtwmakecfg.m API, чтобы Настроить Сгенерированные Make-файлы.
В этом случае цель может установить параметр в своем избранном коллбэке. Например:
slConfigUISetVal(hDlg, hSrc, 'TargetLibSuffix',... '_target.library');
В качестве альтернативы можно использовать вызов set_param функция. Например:
set_param(model,'TargetLibSuffix','_target.library');
Во время преобразования TMF к make-файлу процесс сборки заменяет маркерный |>EXPAND_LIBRARY_SUFFIX<| с заданным суффиксом. Например, если имя библиотеки задано в rtwmakecfg.m файлом является 'rtwlib', TMF расширяется от:
LIBS += |>EXPAND_LIBRARY_LOCATION<|\|>EXPAND_LIBRARY_NAME<|\ |>EXPAND_LIBRARY_SUFFIX<|
к:
LIBS += c:\mytarget\precomplibs\rtwlib_target.library
По умолчанию, TargetLibSuffix установлен в пустой символьный вектор. В этом случае процесс сборки заменяет маркерный |>EXPAND_LIBRARY_SUFFIX<| с пустым символьным вектором.
Библиотеки модели создаются с моделью - ссылкой. Для этих случаев сопоставленные переменные make-файла не требуют |>EXPAND_LIBRARY_SUFFIX<| лексема. Вместо этого процесс сборки включает TargetLibSuffix неявно. Например, для топ-модели назвал topmodel с моделями, на которые ссылаются, под названием refmodel1 и refmodel2, TMF топ-модели расширен от:
MODELLIB = |>MODELLIB<| MODELREF_LINK_LIBS = |>MODELREF_LINK_LIBS<|
к:
MODELLIB = topmodellib_target.library MODELREF_LINK_LIBS = \ refmodel1_rtwlib_target.library refmodel2_rtwlib_target.library
По умолчанию, TargetLibSuffix параметр является пустым символьным вектором. В этом случае процесс сборки выбирает суффикс по умолчанию для этих трех лексем с помощью расширения файла .lib на хостах Windows® и .a на хостах UNIX®. Для библиотек модели - ссылки суффикс по умолчанию также включает _rtwlib. Например, на хосте Windows, расширенные значения make-файла:
MODELLIB = topmodellib.lib MODELREF_LINK_LIBS = refmodel1_rtwlib.lib refmodel2_rtwlib.lib