Поддерживаемая платформа: Windows®, Linux®, Mac
Этот пример показывает, как использовать приложение Library Compiler, чтобы создать совместно использованную библиотеку C++ для функции MATLAB®. Можно затем передать сгенерированный пакет разработчику, который ответственен за интеграцию его в приложение. Этот пример также показывает, как вызвать совместно использованную библиотеку C++ из приложения C++. Целевая система не требует лицензированной копии MATLAB.
В MATLAB исследуйте код MATLAB, который вы хотите группированный. В данном примере откройте addmatrix.m
, расположенный в
.matlabroot\extern\examples\compilersdk\c_cpp\matrix
В команде MATLAB запрашивают, введите:
addmatrix([1 4 7; 2 5 8; 3 6 9], [1 4 7; 2 5 8; 3 6 9])
Вывод:
ans = 2 8 14 4 10 16 6 12 18
На вкладке MATLAB Apps, на ультраправом из раздела Apps, кликают по стрелке. В Application Deployment нажмите Library Compiler.
Также можно открыть приложение Library Compiler от подсказки команды MATLAB путем ввода:
libraryCompiler
В разделе Type панели инструментов нажмите C++ Shared Library.
В окне проекта MATLAB Compiler задайте файлы приложения MATLAB, которое вы хотите развернуть.
В разделе Exported Functions панели инструментов щелкнуть.
В окне Add Files просмотрите к папке в качестве примера и выберите функцию, которую вы хотите группировать. Нажмите Open.
Функция добавляется к списку экспортируемых файлов функции. Повторите этот шаг, чтобы группировать несколько файлов в том же приложении.
В данном примере перейдите к
и выберите matlabroot\extern\examples\compilersdk\c_cpp\matrix
addmatrix.m
.
В разделе Packaging Options панели инструментов решите, включать ли инсталлятор MATLAB Runtime в сгенерированное приложение путем выбора одной из опций:
Runtime downloaded from web — Сгенерируйте инсталлятор, который загружает MATLAB Runtime и устанавливает его наряду с развернутым приложением MATLAB. Можно задать имя файла инсталлятора.
Runtime included in package — Сгенерируйте приложение, которое включает инсталлятор MATLAB Runtime. Можно задать имя файла инсталлятора.
В первый раз, когда вы выбираете эту опцию, вам предлагают загрузить инсталлятор MATLAB Runtime или получить CD, если у вас нет доступа в Интернет.
Поле Library Name автоматически заполняется с addmatrix
как имя группированной разделяемой библиотеки. Переименуйте его как libmatrix
. То же имя выполняется в реализации разделяемой библиотеки.
Добавьте файлы MATLAB, чтобы сгенерировать демонстрационные файлы драйвера C++. Несмотря на то, что файлы драйвера C++ не необходимы, чтобы создать совместно использованные библиотеки, они используются, чтобы продемонстрировать, как Реализовать C++ mwArray API Разделяемая Библиотека с Приложением Драйвера.
В разделе Samples выберите Create New Sample и нажмите addmatrix.m
. Файл MATLAB открывается для вас, чтобы отредактировать. Задайте входные переменные по мере необходимости для вашего приложения, сохраните файл и возвратитесь к приложению Library Compiler. Для получения дополнительной информации и ограничения, смотрите Демонстрационное Создание Файла Драйвера.
Выберите тип API для совместно использованных библиотек сгенерированного C++. В разделе API selection в нижней части выберите Create interface that uses the mwArray API. Для получения дополнительной информации смотрите Выбор API для C++ Разделяемая Библиотека.
Можно настроить инсталлятор, настроить приложение и добавить больше информации о приложении можно следующим образом:
Информация о библиотеке Информация о развертываемом приложении. Можно также настроить внешний вид приложения путем изменения значка приложения и экрана-заставки. Сгенерированный установщик использует эту информацию, чтобы заполнить установленные метаданные приложений. Смотрите Настраивают Инсталлятор.
Additional installer options — Путь к стандартной установке для сгенерированного инсталлятора и пользовательского выбора логотипа. Смотрите Изменение Путь к Установке.
Files required for your library to run — Дополнительные файлы, требуемые сгенерированным приложением запускаться. Эти файлы включены в сгенерированного установщика приложения. Смотрите Управляют Необходимыми Файлами в Проекте Компилятора.
Files installed for your end user — Файлы, которые установлены с вашим приложением. Эти файлы включают:
Сгенерированный readme.txt
Сгенерированный исполняемый файл для целевой платформы
Чтобы сгенерировать пакетное приложение, нажмите Package.
В диалоговом окне Save Project задайте местоположение, чтобы сохранить проект.
В диалоговом окне Package проверьте, что Open output folder when process completes выбран.
Когда упаковочный процесс будет завершен, исследуйте сгенерированный вывод.
Три папки сгенерированы в целевом месте папки: for_redistribution
, for_redistribution_files_only
и for_testing
.
Для получения дополнительной информации о файлах, сгенерированных в этих папках, смотрите Файлы, Сгенерированные После Упаковки функций MATLAB.
PackagingLog.txt
— Файл журнала сгенерирован MATLAB Compiler™.
После упаковки вашего C++ совместно использовал библиотеки, можно вызвать их из приложения C++. Приложение C++, которое вы создаете, использует демонстрационный код драйвера C++, сгенерированный во время упаковки. Код драйвера C++ вызывает совместно использованные библиотеки C++, и он основан на демонстрационном файле MATLAB, который вы выбрали на предыдущих шагах настройки.
Эти шаги также объяснены в файле GettingStarted.html
в папке for_redistribution_files_only
. Перед запуском убедитесь, что вы, Установка и Конфигурирует MATLAB Runtime (MATLAB Compiler), и что вам установили компилятор C++.
Скопируйте и вставьте сгенерированный файл кода драйвера C++ от папки for_redistribution_files_only\samples
в папку for_redistribution_files_only
, созданную, когда вы создали разделяемую библиотеку.
Используйте системную командную строку, чтобы перейти к папке for_redistribution_files_only
, где вы скопировали сгенерированный демонстрационный файл кода драйвера C++.
Скомпилируйте и соедините приложение с помощью mbuild
в системной командной строке.
mbuild addmatrix_sample.cpp libmatrix.lib
От системной командной строки, запущенной приложение. Если бы вы использовали демонстрационный код MATLAB на упаковочных шагах, это приложение должно возвратить тот же выходной параметр как код MATLAB.
addmatrix_sample.exe
2 8 14 4 10 16 6 12 18
deploytool
| libraryCompiler
| mcc