packNGo

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

Описание

пример

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

ZIP-файл может включать следующие типы файлов:

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

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

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

  • Файлы, не связанные с build (для примера, .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 function, генератор кода использует 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-файл с именем modelOrFunctionName.zip и помещает ZIP- файла в папку генерации кода.

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

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

Пример: '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-файлов.

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

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

  • Для MATLAB Coder функция не упаковывает примеры основных исходных и заголовочных файлов, которые вы генерируете с настройками строения по умолчанию. Чтобы упаковать основные файлы примера, сконфигурируйте генерацию кода, чтобы сгенерировать и скомпилировать основную функцию примера, сгенерируйте ваш код, а затем упакуйте файлы сборки.

  • packNGo не упакует код, сгенерированный для целей MEX.

Введенный в R2006b