Если вам требуется переместить статические и сгенерированный код файлы для модели в другую среду разработки, используйте утилиту pack-and-go. Это условие происходит, когда ваша система или интегрированная среда разработки (IDE) не включает MATLAB® и Simulink® товары.
Утилита pack-n-go использует инструменты для настройки процесса сборки после генерации кода и packNGo
функция для поиска и пакетирования файлов для создания исполняемого образа. Файлы упакованы в сжатый файл, который можно переместить и распаковать с помощью стандартного zip
утилита.
Чтобы упаковать и переместить код для вашей модели с помощью пользовательского интерфейса:
В диалоговом окне Параметров конфигурации выберите Package code and artifacts. Эта опция конфигурирует процесс сборки, чтобы запустить packNGo
функция после генерации кода, чтобы упаковать сгенерированный код и программные продукты для перемещения.
В Zip file name поле введите имя zip
файл, в который можно упаковать сгенерированный код и программные продукты для перемещения. Вы можете задать имя файла с .zip
или без расширение. Если вы не задаете расширение или расширение кроме
.zip
, а zip
утилита добавляет .zip
расширение. Если вы не задаете значение, процесс сборки использует имя
, где model
.zip
- имя верхней части, для которой генерируется код.model
Применить изменения и сгенерировать код для вашей модели. Чтобы убедиться, что он готов к перемещению, смотрите результат zip
файл. В зависимости от zip
инструмент, который вы используете, вы можете открыть и просмотреть файл, не распаковывая его.
Перемещение zip
файл в целевую среду разработки и распаковать файл.
Чтобы упаковать и переместить код для модели с помощью интерфейса командной строки:
Прежде чем вы сгенерируете и упакуете файлы для сборки модели, решите, хотите ли вы, чтобы файлы были упакованы в плоскую или иерархическую структуру папки. По умолчанию, packNGo
функция упаковывает файлы в одну, плоскую структуру папки.
Если... | Тогда используйте... |
---|---|
Вы перемещаете файлы в IDE, которая не использует сгенерированный make-файл, или код не зависит от относительного расположения необходимых статических файлов | Одинарная, плоская структура папки |
Целевая среда разработки должна поддерживать структуру папок исходного окружения, потому что она использует сгенерированный make-файл, или код зависит от относительного расположения файлов | Иерархическая структура |
Если используется иерархическая структура, packNGo
функция создает два уровня zip
файлы, основной zip
файл, который в свою очередь содержит следующие вторичные zip
файлы:
mlrFiles.zip
- файлы в вашем
дерево папокmatlabroot
sDirFiles.zip
- файлы в папке сборки и в ней, где вы инициировали генерацию кода для модели
otherFiles.zip
- необходимые файлы не в
или matlabroot
start
деревья папок
Пути для вторичной zip
файлы относятся к корневой папке основного zip
файл, поддерживающий структуру исходной папки разработки.
По умолчанию, packNGo
функция называет основное zip
файловой
. У вас есть опция задать другое имя. Если вы задаете имя файла и опускаете расширение типа файла, функция добавляет model
.
имени, которое вы задаете.
Упакуйте файлы кода модели при помощи PostCodeGenCommand
Параметр конфигурации, packNGo
function, и создать информационный объект для модели. Можно настроить упаковочную операцию, чтобы использовать:
Системный информационный объект сборки.
В этом случае, прежде чем генерировать код модели, используйте set_param
для установки параметра конфигурации PostCodeGenCommand
к явному вызову packNGo
функция. Для примера:
set_param(bdroot, 'PostCodeGenCommand', 'packNGo(buildInfo);');
После генерации и записи кода модели на диск и перед генерацией make-файла эта команда инструктирует процесс сборки для оценки вызова packNGo
. Эта команда использует системно сгенерированный информационный объект сборки для текущей выбранной модели.
Информационный объект сборки, который вы создаете программно.
В этом случае можно использовать другие функции информации о сборке, чтобы селективно включать пути и файлы в объект информации о сборке, который вы затем задаете с packNGo
функция. Для примера:
. . . myModelBuildInfo = RTW.BuildInfo; addSourceFiles(myModelBuildInfo, {'test1.c' 'test2.c' 'driver.c'}); . . . packNGo(myModelBuildInfo);
Следующие примеры показывают, как можно изменить поведение по умолчанию packNGo
.
Кому... | Укажите... |
---|---|
Измените структуру упаковки файлов на иерархическую | packNGo(buildInfo, 'packType' 'hierarchical'); |
Переименуйте основной zip файл | packNGo(buildInfo, 'fileName' 'zippedsrcs'); |
Измените структуру упаковки файлов на иерархическую и переименуйте основную zip файл | packNGo (buildInfo, 'packType' 'иерархический'... |
Включите заголовочные файлы, найденные в пути включения в zip файл | packNGo(buildInfo, 'minimalHeaders' false); |
Сгенерируйте предупреждения для ошибок анализа и отсутствующих файлов | packNGo (buildInfo, 'ignoreParseError' true... |
Примечание
packNGo
функция может потенциально изменять информацию о сборке, переданную в первой packNGo
аргумент. Как часть упаковочного кода модели, packNGo
может найти дополнительные файлы из исходного кода и включать пути, записанные в информации о сборке для модели, и добавить их к информации о сборке.
Чтобы убедиться, что он готов к перемещению, смотрите сгенерированные zip
файл. В зависимости от zip
инструмент, который вы используете, вы можете открыть и просмотреть файл, не распаковывая его. Если распаковка файла и вы упаковали файлы кода модели как иерархическую структуру, распаковка требует, чтобы вы распаковали основной и вторичный zip
файлы. Когда вы распакуете вторичную zip
файлы, сохраняются относительные пути к файлам.
Перемещение сгенерированного zip
файл в целевую среду разработки и распаковать файл.
В этом примере показано, как упаковать файлы кода, сгенерированные для модели примера rtwdemo_rtwintro
использование интерфейса командной строки:
Установите рабочую папку в папку с возможностью записи.
Откройте модель rtwdemo_rtwintro
и сохраните копию в рабочую папку.
Введите следующую команду MATLAB:
set_param('rtwdemo_rtwintro', 'PostCodeGenCommand',... 'packNGo(buildInfo, ''packType'' ''hierarchical'')');
Вы должны удвоить одинарные кавычки из-за вложения символьных массивов 'packType'
и 'hierarchical'
внутри символьного массива, который задает вызов на packNGo
.
Сгенерируйте код для модели.
Смотрите сгенерированные zip
файл, rtwdemo_rtwintro.zip
. The zip
файл содержит эти два дополнительных zip
файлы, mlrFiles.zip
и sDirFiles.zip
.
Осмотрите zip
файлы mlrFiles.zip
и sDirFiles.zip
.
Перемещение zip
файл в целевое окружение и распаковать его.
Для получения информации об ограничениях, которые применяются к этой функции, см. packNGo
.
Если процесс сборки использует подход make-файла шаблона, то packNGo
использует расширение исполняемого файла, заданное инструментом linker, для определения двоичных программных продуктов, которые требуют упаковки.
Если вы генерируете исполняемый файл с расширением, которое не является значением по умолчанию, проверьте, что расширение сохранено в наборе инструментов, сопоставленном с шаблоном make-файла. Для получения дополнительной информации см. раздел «Связывание шаблона make-файла с набором инструментальных средств».
Если процесс сборки генерирует исполняемый файл с расширением, отличным от расширения, сохраненного в наборе инструментальных средств, packNGo
не упакует исполняемый файл.