Если вы требуете перемещения файлов статического и сгенерированного кода для модели к другой среде разработки, используйте утилиту pack-and-go. Это условие происходит, когда ваша система или интегрированная среда разработки (IDE) не включают MATLAB® и Simulink® продукты.
Утилита pack-n-go использует инструменты для настройки процесса сборки после генерации кода и a packNGo
функция, чтобы найти и упаковать файлы для создания исполняемого образа. Файлы упакованы в сжатом файле, что можно переместить и распаковать использование стандартного zip
утилита.
Группировать и перемещать код для вашей модели с помощью пользовательского интерфейса:
В диалоговом окне Configuration Parameters выберите Package code and artifacts. Эта опция конфигурирует процесс сборки, чтобы запуститься packNGo
функция после генерации кода, чтобы группировать сгенерированный код и артефакты для перемещения.
В поле Zip file name введите имя zip
файл, в котором можно группировать сгенерированный код и артефакты для перемещения. Можно задать имя файла с или без .zip
расширение. Если вы не задаете расширение или расширение кроме .zip
, zip
утилита добавляет the.zip
расширение. Если вы не задаете значение, процесс сборки использует имя
, где model
zip
имя топ-модели, для которой генерируется код.model
Примените изменения и сгенерируйте код для своей модели. Чтобы проверить, что это готово к перемещению, смотрите получившийся zip
файл. В зависимости от zip
инструмент, который вы используете, вы могли смочь открыть и смотреть файл, не распаковывая его.
Переместите zip
файл к целевой среде разработки и распаковывает файл. Затем можно использовать codebuild
скомпилировать распакованный код. Для получения дополнительной информации см. Код Компиляции в Другой Среде разработки.
Группировать и перемещать код для вашей модели с помощью интерфейса командной строки:
Прежде чем вы сгенерируете и упакуете файлы для сборки модели, решите, хотите ли вы, чтобы файлы были упакованы в плоской или иерархической структуре папок. По умолчанию, packNGo
функциональные пакеты файлы в одной, плоской структуре папок.
Если... | Затем используйте... |
---|---|
Вы перемещаете файлы к IDE, который не использует сгенерированный make-файл, или код не зависит от относительного местоположения необходимых статических файлов | Одна, плоская структура папок |
Целевая среда разработки должна обеспечить структуру папок исходной среды, потому что это использует сгенерированный make-файл, или код зависит от относительного местоположения файлов | Иерархическая структура |
Если вы используете иерархическую структуру, packNGo
функция создает два уровня zip
файлы, первичный zip
файл, который в свою очередь содержит следующий вторичный zip
файлы:
mlrFiles.zip
— файлы в вашем
дерево папкиmatlabroot
sDirFiles.zip
— файлы в и под вашей папкой сборки, где вы инициировали генерацию кода для модели
otherFiles.zip
— необходимые файлы не в
или matlabroot
start
деревья папки
Пути для вторичного zip
файлы относительно корневой папки первичного zip
файл, обеспечивая исходную структуру папок разработки.
По умолчанию, packNGo
имена функций первичный zip
файл
. У вас есть опция определения другого имени. Если вы задаете имя файла и не используете расширение типа файла, функция добавляет model
.
к имени, которое вы задаете.
Файлы типового кодекса пакета при помощи PostCodeGenCommand
параметр конфигурации, packNGo
функция и информационный объект сборки для модели. Можно настроить упаковочную операцию, чтобы использовать:
Система сгенерированный информационный объект сборки.
В этом случае, прежде, чем сгенерировать типовой кодекс, использовать 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' верный... |
Примечание
packNGo
функция может потенциально изменить информацию о сборке, переданную в первом packNGo
аргумент. Как часть упаковки типового кодекса, packNGo
мог найти дополнительные файлы из источника и включать пути, зарегистрированные в информацию о сборке для модели, и добавить их в информацию о сборке.
Чтобы проверить, что это готово к перемещению, смотрите сгенерированный zip
файл. В зависимости от zip
инструмент, который вы используете, вы могли смочь открыть и смотреть файл, не распаковывая его. При распаковке файла и вы упаковали файлы типового кодекса как иерархическую структуру, распаковка требует, чтобы вы распаковали первичный и вторичный zip
файлы. Когда вы распаковываете вторичный zip
файлы, относительные пути файлов сохраняются.
Переместите сгенерированный zip
файл к целевой среде разработки и распаковывает файл. Затем можно использовать codebuild
скомпилировать распакованный код. Для получения дополнительной информации см. Код Компиляции в Другой Среде разработки.
В этом примере показано, как группировать файлы кода, сгенерированные для модели rtwdemo_rtwintro
в качестве примера использование интерфейса командной строки:
Установите свою рабочую папку на перезаписываемую папку.
Откройте модель rtwdemo_rtwintro
и сохраните копию в свою рабочую папку.
Введите следующую команду MATLAB:
set_param('rtwdemo_rtwintro', 'PostCodeGenCommand',... 'packNGo(buildInfo, ''packType'' ''hierarchical'')');
Необходимо удвоить одинарные кавычки из-за вложения символьных массивов 'packType'
и 'hierarchical'
в символьном массиве, который задает вызов packNGo
.
Сгенерируйте код для модели.
Смотрите сгенерированный zip
файл, rtwdemo_rtwintro.zip
. zip
файл содержит два вторичных zip
файлы, mlrFiles.zip
и sDirFiles.zip
.
Смотрите zip
файлы mlrFiles.zip
и sDirFiles.zip
.
Переместите zip
файл к целевой среде и распаковывает его.
Чтобы скомпилировать распакованный код, используйте codebuild
функция.
Для получения информации об ограничениях, которые применяются к этой функции, смотрите packNGo
.
Если процесс сборки использует подход make-файла шаблона, то packNGo
использует расширение исполняемого файла, заданное инструментом компоновщика, чтобы определить бинарные артефакты, которые требуют упаковки.
Если вы генерируете исполняемый файл с расширением, которое не является значением по умолчанию, проверяйте, что расширение сохранено в наборе инструментальных средств, сопоставленном с make-файлом шаблона. Для получения дополнительной информации смотрите Партнера Make-файл Шаблона с Набором инструментальных средств.
Если процесс сборки генерирует исполняемый файл с расширением, которое отличается от расширения, сохраненного в наборе инструментальных средств, packNGo
не группирует исполняемый файл.