exponenta event banner

Код пакета для других сред разработки

Когда к коду упаковки

Для перемещения созданных кодовых файлов в другую среду разработки, такую как система или интегрированная среда разработки (IDE), которая не включает MATLAB ®, используйте packNGo функция в командной строке или выборе Пакета в приложении MATLAB Coder™. Файлы упакованы в сжатый файл, что Вы можете переместить и распаковать использование стандартной полезности почтового индекса.

См. раздел Код, сгенерированный пакетом с помощью приложения кодера MATLAB, и код, сгенерированный пакетом в командной строке.

Код, созданный в пакете с помощью приложения кодера MATLAB

В этом примере показано, как упаковывать созданный код в zip-файл для перемещения с помощью опции Пакет (Package) в приложении Кодер MATLAB. По умолчанию MATLAB Coder создает zip-файл в текущей рабочей папке.

  1. Например, в локальной папке с возможностью записи c:\work, записать функцию foo для этого требуется два двойных входа.

    function y = foo(A,B)
      y = A + B;
    end

  2. Откройте приложение Кодер MATLAB. На вкладке Приложения MATLAB Toolstrip в разделе Создание кода щелкните значок приложения Кодер MATLAB.

  3. На странице «Выбор исходных файлов» введите имя функции точки входа. foo. Щелкните Далее (Next), чтобы перейти на страницу Определение типов ввода (Define Input Types).

  4. Укажите входные данные A и B являются скалярными двойниками. Нажмите кнопку Далее, чтобы перейти на страницу Проверка ошибок времени выполнения.

  5. Проверьте наличие проблем во время выполнения. В диалоговом окне Проверка ошибок времени выполнения введите код вызова foo со скалярными двойными входами. Например:

    foo(1,2)
    Щелкните Проверить наличие проблем.

    Чтобы проверить наличие проблем во время выполнения, приложение генерирует и запускает функцию MEX. Приложение не находит проблем для foo. Нажмите кнопку Далее, чтобы перейти на страницу Создание кода.

  6. В диалоговом окне «Создание» задайте для параметра «Тип построения» значение Source Code, Static Library, Dynamic Library, или Executable. Невозможно упаковать код, созданный для целей MEX.

  7. Щелкните Создать (Generate). Нажмите кнопку Далее, чтобы перейти на страницу Завершить рабочий процесс.

  8. На странице Завершение рабочего процесса щелкните Пакет.

  9. В диалоговом окне «Пакет» укажите имя и тип файла пакета. По умолчанию приложение извлекает имя файла пакета из имени проекта. Приложение сохраняет файл в текущей рабочей папке. По умолчанию приложение упаковывает созданные файлы в одну плоскую папку. В этом примере используйте значения по умолчанию и нажмите кнопку Сохранить.

    Этот zip-файл содержит C-код и заголовочные файлы, необходимые для перемещения. Он не содержит:

  10. Проверить содержимое foo_pkg.zip в рабочей папке для проверки готовности к перемещению в конечную систему. В зависимости от используемого инструмента zip можно открыть и проверить файл, не распаковывая его.

    Теперь можно переместить полученный zip-файл в требуемую среду разработки и распаковать файл.

Код, созданный пакетом в командной строке

В этом примере показано, как упаковывать созданный код в zip-файл для перемещения с помощью packNGo в командной строке.

  1. Например, в локальной папке с возможностью записи c:\work, записать функцию foo для этого требуется два двойных входа.

    function y = foo(A,B)
      y = A + B;
    end

  2. Создание статической библиотеки для функции foo. (packNGo не упаковывает код функции MEX.)

    codegen -report -config:lib foo -args {0,0}

    codegen генерирует код в c:\work\codegen\lib\foo папка.

  3. Загрузить buildInfo объект.

    load('c:\work\codegen\lib\foo\buildInfo.mat')

  4. Создайте zip-файл.

    packNGo(buildInfo, 'fileName', 'foo.zip');
    Либо используйте нотацию:
    buildInfo.packNGo('fileName', 'foo.zip');

    packNGo создает zip-файл, foo.zip, в текущей рабочей папке. Этот zip-файл содержит C-код и заголовочные файлы, необходимые для перемещения. Он не содержит:

    В этом примере указывается только имя файла. При необходимости можно указать дополнительные параметры упаковки. См. раздел Определение параметров packNGo.

  5. Проверить содержимое foo.zip для проверки готовности к перемещению в систему назначения. В зависимости от используемого инструмента zip можно открыть и проверить файл, не распаковывая его. Если необходимо распаковать файл и упаковать созданные файлы кода в виде иерархической структуры, необходимо распаковать первичный и вторичный zip-файлы. При распаковке вторичных zip-файлов относительные пути файлов сохраняются.

    Теперь можно переместить полученный zip-файл в требуемую среду разработки и распаковать файл.

Укажите параметры packNGo

Можно указать параметры для packNGo функция.

КомуОпределить
Изменение структуры упаковки файлов на иерархическуюpackNGo(buildInfo, 'packType' 'hierarchical');
Изменение структуры упаковки файлов на иерархическую и переименование основного zip-файлаpackNGo(buildInfo, 'packType' 'hierarchical'...
'fileName' 'zippedsrcs');
Включить все заголовочные файлы, найденные по пути включения в zip-файл (вместо минимальных заголовочных файлов, необходимых для создания кода)packNGo(buildInfo, 'minimalHeaders' false);
Создание предупреждений об ошибках синтаксического анализа и отсутствующих файлахpackNGo(buildInfo, 'ignoreParseError' true...
'ignoreFileMissing' true);

Дополнительные сведения см. в разделе packNGo.

Выбор структуры для ZIP-файла

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

ЕслиИспользовать
Выполняется перемещение файлов в среду IDE, в которой не используется созданный make-файл, или код не зависит от относительного расположения требуемых статических файлов. Единая, плоская структура папок
Целевая среда разработки должна поддерживать структуру папок исходной среды, поскольку она использует созданный make-файл, или код зависит от относительного расположения файловИерархическая структура

При использовании иерархической структуры packNGo создает два уровня zip-файлов. Существует первичный zip-файл, который, в свою очередь, содержит следующие вторичные zip-файлы:

  • mlrFiles.zip - файлы в вашем matlabroot дерево папок

  • sDirFiles.zip - файлы в папке сборки и под ней, где вы инициировали создание кода

  • otherFiles.zip - обязательные файлы, отсутствующие в matlabroot или start деревья папок

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