Чтобы переместить файлы сгенерированного кода к другой среде разработки, такие как система или интегрированная среда разработки (IDE), которая не включает MATLAB®, используют packNGo
функция в командной строке или опции Package в приложении MATLAB Coder™. Файлы группированы в сжатом файле, что можно переместить и распаковать использование стандартной утилиты zip.
Смотрите, что сгенерированный код пакета Использует сгенерированный код приложения и пакета MATLAB Coder в командной строке.
В этом примере показано, как группировать сгенерированный код в zip-файл для перемещения с помощью опции Package в приложении MATLAB Coder. По умолчанию MATLAB Coder создает zip-файл в текущей рабочей папке.
В локальной перезаписываемой папке, например, c:\work
, запишите функциональный foo
это берет два двойных входных параметров.
function y = foo(A,B) y = A + B; end
Откройте приложение MATLAB Coder. На вкладке MATLAB Toolstrip Apps, под Code Generation, кликают по значку приложения MATLAB Coder.
На странице Select Source Files введите имя функции точки входа foo
. Нажмите Next, чтобы перейти к странице Define Input Types.
Укажите, что вводит A
и B
скаляр, удваивается. Нажмите Next, чтобы перейти к странице Check for Run-Time Issues.
Проверяйте на проблемы во время выполнения. В диалоговом окне Check for Run-Time Issues введите код, который вызывает foo
со скаляром удваивают входные параметры. Например:
foo(1,2)
Чтобы проверять на проблемы во время выполнения, приложение генерирует и запускает MEX-функцию. Приложение не находит проблемы для foo
. Нажмите Next, чтобы перейти к странице Generate Code.
В диалоговом окне Generate, набор Build Type к Source Code
, Static Library
, Dynamic Library
, или Executable
. Вы не можете группировать код, сгенерированный для целей MEX.
Нажмите Generate. Нажмите Next, чтобы перейти к странице Finish Workflow.
На странице Finish Workflow нажмите Package.
В диалоговом окне Package задайте имя файла пакета и группирующий тип. По умолчанию приложение выводит имя файла пакета от названия проекта. Приложение сохранило файл в текущей рабочей папке. По умолчанию приложение группирует сгенерированные файлы как одну, плоскую папку. В данном примере используйте значения по умолчанию, и затем нажмите Save.
Этот zip-файл содержит код С и заголовочные файлы, требуемые для перемещения. Это не содержит:
Скомпилируйте флаги
Задает
Make-файлы
Основные файлы примера, если вы не конфигурируете генерацию кода, чтобы сгенерировать и скомпилировать пример основная функция. Смотрите Включают Сгенерированный код Используя Пример Основная Функция.
Смотрите содержимое 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-файл содержит код С и заголовочные файлы, требуемые для перемещения. Это не содержит:
Скомпилируйте флаги
Задает
Make-файлы
Основные файлы примера, если вы не конфигурируете генерацию кода, чтобы сгенерировать и скомпилировать пример основная функция. Смотрите Включают Сгенерированный код Используя Пример Основная Функция.
В этом примере вы задаете только имя файла. Опционально, можно задать дополнительные упаковочные опции. Смотрите Задают packNGo Опции.
Смотрите содержимое foo.zip
проверять, что это готово к перемещению к целевой системе. В зависимости от инструмента zip, который вы используете, можно потенциально открыть и смотреть файл, не распаковывая его. Если необходимо распаковать файл, и вы группировали файлы сгенерированного кода как иерархическую структуру, необходимо будет распаковать первичные и вторичные zip-файлы. Когда вы распаковываете вторичные zip-файлы, относительные пути файлов сохраняются.
Можно теперь переместить получившийся zip-файл к желаемой среде разработки и распаковать файл.
Можно задать опции для packNGo
функция.
К | Задать |
---|---|
Измените структуру упаковки файла к иерархическому | packNGo(buildInfo, {'packType' 'hierarchical'}); |
Измените структуру упаковки файла к иерархическому и переименуйте первичный zip-файл | packNGo (buildInfo, {'packType' 'иерархический'... |
Включайте все заголовочные файлы, найденные на включать пути в zip-файле (а не минимальные заголовочные файлы, требуемые создавать код) | packNGo(buildInfo, {'minimalHeaders' false}); |
Сгенерируйте предупреждения для ошибок анализа и недостающих файлов | packNGo (buildInfo, {'ignoreParseError' верный... |
Для получения дополнительной информации смотрите packNGo
.
Прежде чем вы сгенерируете и группируете файлы, решите, хотите ли вы группировать файлы в плоской или иерархической структуре папок. По умолчанию, packNGo
функциональные пакеты файлы в одной, плоской структуре папок. Этот подход является самым простым и может быть оптимальным выбором.
Если | Использование |
---|---|
Вы перемещаете файлы к IDE, который не использует сгенерированный make-файл, или код не зависит от относительного местоположения необходимых статических файлов | Одна, плоская структура папок |
Целевая среда разработки должна обеспечить структуру папок исходной среды, потому что это использует сгенерированный make-файл, или код зависит от относительного местоположения файлов | Иерархическая структура |
Если вы используете иерархическую структуру, packNGo
функция создает два уровня zip-файлов. Существует первичный zip-файл, который в свою очередь содержит следующие вторичные zip-файлы:
mlrFiles.zip
— файлы в вашем
дерево папкиmatlabroot
sDirFiles.zip
— файлы в и под вашей папкой сборки, где вы инициировали генерацию кода
otherFiles.zip
— необходимые файлы не в
или matlabroot
start
деревья папки
Пути для вторичных zip-файлов относительно корневой папки первичного zip-файла, обеспечивая исходную структуру папок разработки.