exponenta event banner

packNGo

Код пакета в ZIP-файле для перемещения

Описание

пример

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

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

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

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

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

  • Неподстроенные файлы (например, .dll файлы и .txt информационные файлы), необходимые для конечного исполняемого файла

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

    Генератор кода включает созданные при построении двоичные файлы (если они имеются) в ZIP-файл. Свойство IgnureFileMissing не применяется к двоичным файлам, созданным при построении.

  • Файлы конфигурации CMake (CMakeLists.txt), которые используются для создания makefile или проектов для среды компилятора.

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

Поскольку код, созданный с помощью графического процессора Coder™, основан на компиляторах сторонних производителей, библиотеках для создания и запуска исполняемых файлов, среда разработки, в которую вы перемещаетесь, также должна удовлетворять этим требованиям. Дополнительные сведения см. в разделах Установка необходимых продуктов и Настройка необходимых продуктов.

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

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

Примечание

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

Примеры

свернуть все

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

  1. Измените папки на папку создания кода. Например, используя Coder™ MATLAB, 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. Выберите «Создание кода» > «Код пакета и артефакты». При необходимости укажите имя ZIP-файла. Чтобы применить изменения, нажмите кнопку ОК.

  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'-value, функция упаковывает файлы в ZIP-файл с именем modelOrFunctionName.zip и помещает ZIP-файл в папку создания кода.

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

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

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

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

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

Кодер графического процессора требует, чтобы 'minimalHeaders' параметр имеет значение false.

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

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

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

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

Если false, завершение при ошибках синтаксического анализа.

Если true, не завершать работу при ошибках синтаксического анализа.

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

Если false, завершите работу при отсутствующих ошибках файла.

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

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

Ограничения

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

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

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

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

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