packNGo

Упакуйте cгенерированный код в zip-файл для перемещения

Описание

пример

packNGo(buildInfo,Name,Value) группирует файлы кода в сжатом zip-файле так, чтобы можно было переместить, распаковать и восстановить их в другой среде разработки. Список пар "имя-значение" является дополнительным.

Zip-файл может включать эти типы файлов:

  • Исходные файлы (например, .c и .cpp файлы)

  • Заголовочные файлы (например, .h и .hpp файлы)

  • MAT-файл, который содержит информационный объект сборки (.mat файл)

  • Связанные с несборкой файлы (например, .dll файлы и .txt информационные файлы) требуемый для итогового исполняемого файла

  • Сгенерированные сборкой двоичные файлы (например, исполняемый .exe файл или динамически подключаемая библиотека .dll).

    Генератор кода включает сгенерированные сборкой двоичные файлы (если есть) в zip-файл. ignoreFileMissing свойство не применяется к сгенерированным сборкой двоичным файлам.

  • Конфигурационные файлы CMake (CMakeLists.txt) то, что вы используете, чтобы сгенерировать make-файлы или проекты для среды компилятора.

Используйте эту функцию, чтобы переместить файлы. Можно затем перекомпилировать файлы для определенного целевого окружения или восстановить их в среде разработки, в которой не установлен MATLAB®. По умолчанию, функциональные пакеты файлы как плоская структура папок в zip-файле в папке генерации кода. Можно настроить выход путем определения пар "имя-значение". После перемещения zip-файла используйте стандартную утилиту ZIP, чтобы распаковать сжатый файл.

packNGo функция может потенциально изменить информацию о сборке, переданную в первом packNGo аргумент. Как часть упаковки кода, packNGo может найти дополнительные файлы из источника и включать пути, зарегистрированные в информацию о сборке. Когда эти файлы найдены, packNGo добавляет их в информацию о сборке.

Гарантировать это packNGo находит заголовочные файлы, добавьте их пути к buildInfo при помощи addIncludePaths функция.

Примечание

При генерации автономного кода при помощи codegen команда, можно использовать -package опция, чтобы и сгенерировать код и группировать код в zip-файле на одном шаге.

Примеры

свернуть все

После того, как процесс сборки завершен, можно запустить packNGo из Командного окна. Используйте packNGo для упаковки zip-файла сгенерированного кода в файле portzingbit.zip. Обеспечьте иерархию файла прямого доступа.

  1. Измените папки в папку генерации кода. Например, с помощью MATLAB Coder™, codegen/dll/zingbit или для генерации кода Simulink®, zingbit_grt_rtw.

  2. Загрузите buildInfo объект, который описывает сборку.

  3. Запустите packNGo с настройками свойства для packType и fileName.

cd codegen/dll/zingbit;
load buildInfo.mat
packNGo(buildInfo,'packType', 'hierarchical', ...
   'fileName','portzingbit');

Если вы конфигурируете упаковку zip-файла от панели генерации кода, генератор кода использует packNGo выводить zip-файл во время процесса сборки.

  1. Выберите Code Generation> Package code and artifacts. Опционально, обеспечьте Zip file name. Чтобы применить изменения, нажмите OK.

  2. Создайте модель. В конце процесса сборки генератор кода выводит zip-файл. Структура папок в zip-файле является иерархической.

Если вы конфигурируете упаковку zip-файла при помощи set_param функция, генератор кода использует packNGo выводить zip-файл во время процесса сборки.

Сконфигурировать упаковку zip-файла для модели zingbit в файле zingbit.zip, используйте set_param функция.

set_param('zingbit','PostCodeGenCommand', ...
   'packNGo(buildInfo);');

Входные параметры

свернуть все

Во время процесса сборки генератор кода помещает buildInfo.mat в папке генерации кода. Этот MAT-файл содержит buildInfo объект. Объект предоставляет информацию что packNGo использование, чтобы произвести zip-файл.

Можно задать аргумент как buildInfo объект:

load buildInfo.mat
packNGo(buildInfo,'packType', 'hierarchical', ...
   'fileName','portzingbit');

Или, можно задать аргумент как путь к buildInfo.mat файл:

buildInfoFile = fullfile(pathToBuildFolder, 'buildInfo.mat');
packNGo(buildInfoFile,'packType', 'hierarchical', ...
   'fileName','portzingbit');

Или, можно задать аргумент как путь к папке, которая содержит buildInfo.mat:

packNGo(pathToBuildFolder,'packType', 'hierarchical', ...
   'fileName','portzingbit');

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'packType','flat','nestedZipFiles',true

Если 'flat', группируйте файлы сгенерированного кода в zip-файле как одна, плоская папка. Функция не группирует:

  • Дочерний buildInfo.mat файлы.

  • CMakeLists.txt файлы.

Если 'hierarchical', группируйте файлы сгенерированного кода иерархически в первичном zip-файле. Иерархия содержит топ-модель, модель, на которую ссылаются, и совместно использовала служебные папки. Функция также пакеты:

  • Соответствующий buildInfo.mat файлы для папок.

  • CMakeLists.txt файлы в папке сборки.

Пример: 'packType','flat'

Если true, создайте первичный zip-файл, который содержит три вторичных zip-файла:

  • mlrFiles.zip — Файлы в вашем matlabroot дерево папки

  • sDirFiles.zip — Файлы в и под вашей папкой генерации кода

  • otherFiles.zip — Необходимые файлы не в matlabroot или start деревья папки

Если false, создайте первичный zip-файл, который содержит папки, например, вашу папку генерации кода и matlabroot.

Пример: 'nestedZipFiles',true

Если вы не задаете 'fileName'- пара значения, функциональные пакеты файлы в zip-файле под названием modelOrFunctionNamezip и помещает zip-файл в папку генерации кода.

Если вы задаете 'fileName' со значением, 'myName', функция создает myNamezip в папке генерации кода.

Чтобы задать другое местоположение для первичного zip-файла, предоставьте абсолютный путь местоположению, fullPath/myNamezip

Пример: 'fileName','/home/user/myModel.zip'

Если true, включайте только минимальные заголовочные файлы, требуемые создавать код в zip-файле.

Если false, включайте заголовочные файлы, найденные на включать пути в zip-файле.

Пример: 'minimalHeaders',true

Если false, не включайте html папка в zip-файле.

Если true, включайте html папка в zip-файле.

Пример: 'includeReport',false

Если false, оконечный на ошибках анализа.

Если true, не отключайте на ошибках анализа.

Пример: 'ignoreParseError',false

Если false, оконечный при недостающих ошибках файла.

Если true, не отключайте при недостающих ошибках файлов.

Пример: 'ignoreFileMissing',false

Ограничения

  • Функция работает с исходными файлами только, такими как *.c, *.cpp, и *.h файлы. Функция не поддерживает флаги компиляции, задает, или make-файлы.

  • Функция не группирует исходные файлы для допускающих повторное использование подсистем библиотеки.

  • Могут быть включены ненужные файлы. Функциональная сила находит дополнительные файлы от исходных путей и включает пути, зарегистрированные в информацию о сборке, даже если те файлы не используются.

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