Для перемещения созданных кодовых файлов в другую среду разработки, такую как система или интегрированная среда разработки (IDE), которая не включает MATLAB ®, используйте packNGo функция в командной строке или выборе Пакета в приложении MATLAB Coder™. Файлы упакованы в сжатый файл, что Вы можете переместить и распаковать использование стандартной полезности почтового индекса.
См. раздел Код, сгенерированный пакетом с помощью приложения кодера MATLAB, и код, сгенерированный пакетом в командной строке.
В этом примере показано, как упаковывать созданный код в zip-файл для перемещения с помощью опции Пакет (Package) в приложении Кодер MATLAB. По умолчанию MATLAB Coder создает zip-файл в текущей рабочей папке.
Например, в локальной папке с возможностью записи c:\work, записать функцию foo для этого требуется два двойных входа.
function y = foo(A,B) y = A + B; end
Откройте приложение Кодер MATLAB. На вкладке Приложения MATLAB Toolstrip в разделе Создание кода щелкните значок приложения Кодер MATLAB.
На странице «Выбор исходных файлов» введите имя функции точки входа. foo. Щелкните Далее (Next), чтобы перейти на страницу Определение типов ввода (Define Input Types).
Укажите входные данные A и B являются скалярными двойниками. Нажмите кнопку Далее, чтобы перейти на страницу Проверка ошибок времени выполнения.
Проверьте наличие проблем во время выполнения. В диалоговом окне Проверка ошибок времени выполнения введите код вызова foo со скалярными двойными входами. Например:
foo(1,2)
Чтобы проверить наличие проблем во время выполнения, приложение генерирует и запускает функцию MEX. Приложение не находит проблем для foo. Нажмите кнопку Далее, чтобы перейти на страницу Создание кода.
В диалоговом окне «Создание» задайте для параметра «Тип построения» значение Source Code, Static Library, Dynamic Library, или Executable. Невозможно упаковать код, созданный для целей MEX.
Щелкните Создать (Generate). Нажмите кнопку Далее, чтобы перейти на страницу Завершить рабочий процесс.
На странице Завершение рабочего процесса щелкните Пакет.
В диалоговом окне «Пакет» укажите имя и тип файла пакета. По умолчанию приложение извлекает имя файла пакета из имени проекта. Приложение сохраняет файл в текущей рабочей папке. По умолчанию приложение упаковывает созданные файлы в одну плоскую папку. В этом примере используйте значения по умолчанию и нажмите кнопку Сохранить.
Этот zip-файл содержит C-код и заголовочные файлы, необходимые для перемещения. Он не содержит:
Компиляция флагов
Определяет
Makefiles
Пример основных файлов, если не настроить создание кода для создания и компиляции примера основной функции. См. раздел Включение сгенерированного кода с использованием примера основной функции.
Проверить содержимое foo_pkg.zip в рабочей папке для проверки готовности к перемещению в конечную систему. В зависимости от используемого инструмента zip можно открыть и проверить файл, не распаковывая его.
Теперь можно переместить полученный zip-файл в требуемую среду разработки и распаковать файл.
В этом примере показано, как упаковывать созданный код в zip-файл для перемещения с помощью packNGo в командной строке.
Например, в локальной папке с возможностью записи c:\work, записать функцию foo для этого требуется два двойных входа.
function y = foo(A,B) y = A + B; end
Создание статической библиотеки для функции foo. (packNGo не упаковывает код функции MEX.)
codegen -report -config:lib foo -args {0,0}
codegen генерирует код в c:\work\codegen\lib\foo папка.
Загрузить buildInfo объект.
load('c:\work\codegen\lib\foo\buildInfo.mat')Создайте zip-файл.
packNGo(buildInfo, 'fileName', 'foo.zip');
buildInfo.packNGo('fileName', 'foo.zip');
packNGo создает zip-файл, foo.zip, в текущей рабочей папке. Этот zip-файл содержит C-код и заголовочные файлы, необходимые для перемещения. Он не содержит:
Компиляция флагов
Определяет
Makefiles
Пример основных файлов, если не настроить создание кода для создания и компиляции примера основной функции. См. раздел Включение сгенерированного кода с использованием примера основной функции.
В этом примере указывается только имя файла. При необходимости можно указать дополнительные параметры упаковки. См. раздел Определение параметров packNGo.
Проверить содержимое foo.zip для проверки готовности к перемещению в систему назначения. В зависимости от используемого инструмента zip можно открыть и проверить файл, не распаковывая его. Если необходимо распаковать файл и упаковать созданные файлы кода в виде иерархической структуры, необходимо распаковать первичный и вторичный zip-файлы. При распаковке вторичных zip-файлов относительные пути файлов сохраняются.
Теперь можно переместить полученный zip-файл в требуемую среду разработки и распаковать файл.
Можно указать параметры для packNGo функция.
| Кому | Определить |
|---|---|
| Изменение структуры упаковки файлов на иерархическую | packNGo(buildInfo, 'packType' 'hierarchical'); |
| Изменение структуры упаковки файлов на иерархическую и переименование основного zip-файла | packNGo(buildInfo, 'packType' 'hierarchical'... |
| Включить все заголовочные файлы, найденные по пути включения в zip-файл (вместо минимальных заголовочных файлов, необходимых для создания кода) | packNGo(buildInfo, 'minimalHeaders' false); |
| Создание предупреждений об ошибках синтаксического анализа и отсутствующих файлах | packNGo(buildInfo, 'ignoreParseError' true... |
Дополнительные сведения см. в разделе packNGo.
Прежде чем создавать и упаковывать файлы, решите, следует ли упаковывать файлы в плоскую или иерархическую структуру папок. По умолчанию packNGo функция упаковывает файлы в единую плоскую структуру папок. Этот подход является самым простым и может быть оптимальным выбором.
| Если | Использовать |
|---|---|
| Выполняется перемещение файлов в среду IDE, в которой не используется созданный make-файл, или код не зависит от относительного расположения требуемых статических файлов. | Единая, плоская структура папок |
| Целевая среда разработки должна поддерживать структуру папок исходной среды, поскольку она использует созданный make-файл, или код зависит от относительного расположения файлов | Иерархическая структура |
При использовании иерархической структуры packNGo создает два уровня zip-файлов. Существует первичный zip-файл, который, в свою очередь, содержит следующие вторичные zip-файлы:
mlrFiles.zip - файлы в вашем дерево папокmatlabroot
sDirFiles.zip - файлы в папке сборки и под ней, где вы инициировали создание кода
otherFiles.zip - обязательные файлы, отсутствующие в или matlabrootstart деревья папок
Пути для вторичных zip-файлов относятся к корневой папке первичного zip-файла с сохранением структуры исходной папки разработки.