Поддерживаемая платформа: Windows®, Linux®, macOS
В этом примере показано, как использовать MATLAB® Compiler™, чтобы группировать предзаписанную функцию, которая распечатывает магический квадрат к командной строке. Целевая система не требует, чтобы лицензированная копия MATLAB запустила приложение.
Можно создать автономные приложения с помощью следующих опций:
Опция | Цель |
---|---|
Application Compiler | Используйте это приложение, чтобы произвести инсталлятор, который устанавливает и автономное приложение и все необходимые зависимости от целевой системы. |
compiler.build.standaloneApplication | Используйте эту функцию, чтобы произвести автономное приложение, которое не включает MATLAB Runtime или инсталлятор. Чтобы произвести автономное приложение, которое не запускает командный процессор Windows, использовать |
compiler.package.installer | Используйте эту функцию, чтобы произвести инсталлятор, который устанавливает и автономное приложение и все необходимые зависимости от целевой системы. |
mcc | Используйте эту функцию, чтобы произвести автономное приложение, которое не включает MATLAB Runtime или инсталлятор. |
Примечание
Приложение не является кросс-платформенным, и исполняемый тип зависит от платформы, на которой это было сгенерировано.
В MATLAB найдите код MATLAB, который вы хотите развернуть как автономное приложение.
В данном примере компиляция с помощью файла magicsquare.m
расположенный в
.matlabroot
\extern\examples\compiler
function m = magicsquare(n) if ischar(n) n=str2double(n); end m = magic(n); disp(m)
В окне команды MATLAB введите magicsquare(5)
.
Выход:
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
На вкладке MATLAB Apps, на ультраправом из раздела Apps, кликают по стреле. В Application Deployment нажмите Application Compiler.
Альтернативно, можно открыть приложение Application Compiler путем ввода applicationCompiler
в подсказке MATLAB.
В окне проекта MATLAB Compiler задайте основной файл приложения MATLAB, которое вы хотите развернуть.
В разделе Main File панели инструментов щелкнуть.
В окне Add Files просмотрите к
, и выберите matlabroot
\extern\examples\compilermagicsquare.m
. Нажмите Open.
Функциональный magicsquare.m
добавляется к списку основных файлов.
Решите, включать ли инсталлятор MATLAB Runtime в сгенерированное приложение путем выбора одной из этих двух опций в разделе Packaging Options:
Runtime downloaded from web — Генерирует инсталлятор, который загружает MATLAB Runtime и устанавливает его наряду с развернутым приложением MATLAB.
Runtime included in package — Генерирует инсталлятор, который включает инсталлятор MATLAB Runtime.
Настройте пакетное приложение и его внешний вид:
Application information — Доступная для редактирования информация о развертываемом приложении. Можно также настроить внешний вид автономных приложений путем изменения значка приложения и экрана-заставки. Сгенерированный установщик использует эту информацию, чтобы заполнить установленные метаданные приложений. Смотрите Настраивают Инсталлятор.
Command line input type options — Выбор входных данных вводит для автономного приложения. Для получения дополнительной информации смотрите, Определяют Тип данных Входа Командной строки (Для Упаковки Только Автономных приложений).
Additional installer options — Отредактируйте путь к стандартной установке для сгенерированного инсталлятора и выбора пользовательского логотипа. Смотрите Изменение Путь к Установке.
Files required for your application to run — Дополнительные требуемые для запуска сгенерированного приложения файлы. Эти файлы включены в сгенерированное установщиком приложения. Смотрите Управляют Необходимыми Файлами в Проекте Компилятора.
Files installed for your end user — Файлы, которые установлены с вашим приложением. Эти файлы включают:
Сгенерированный readme.txt
Сгенерированный исполняемый файл для целевой платформы
Additional runtime settings — Специфичные для платформы опции для управления сгенерированным исполняемым файлом. Смотрите Дополнительные Настройки Во время выполнения.
Внимание
На операционных системах Windows, при создании консоли только приложение, сняли флажок с полем Do not display the Windows Command Shell (console) for execution. По умолчанию этот флажок устанавливается. Если флажок устанавливается, выведите от своей консоли, только приложение не отображено. Поскольку этим примером является консоль только приложение, флажок должен быть снят.
Чтобы сгенерировать пакетное приложение, нажмите Package.
В диалоговом окне Save Project задайте местоположение, чтобы сохранить проект.
В диалоговом окне Package проверьте, что Open output folder when process completes выбран.
Когда упаковочный процесс будет завершен, исследуйте сгенерированный результат.
Три папки сгенерированы в целевом месте папки: for_redistribution
, for_redistribution_files_only
, и for_testing
.
Для получения дополнительной информации о файлах, сгенерированных в этих папках, смотрите Файлы, Сгенерированные После Упаковки функций MATLAB.
PackagingLog.html
— Файл журнала сгенерирован MATLAB Compiler.
Чтобы установить ваше автономное приложение, смотрите, Устанавливают Автономное приложение.
compiler.build.standaloneApplication
Примечание
Если вы уже создали автономное приложение с помощью приложения Application Compiler, можно пропустить этот раздел. Однако, если вы хотите знать, как создать автономное приложение из окна команды MATLAB с помощью программируемого подхода, следовать этим инструкциям.
В MATLAB найдите код MATLAB, который вы хотите развернуть как автономное приложение. В данном примере компиляция с помощью файла magicsquare.m
расположенный в
.matlabroot
\extern\examples\compiler
appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
Создайте автономное приложение с помощью compiler.build.standaloneApplication
функция.
buildResults = compiler.build.standaloneApplication(appFile);
compiler.build.Results
объект buildResults
содержит информацию о типе сборки, сгенерированных файлах и опциях сборки.
Функция генерирует следующие файлы в папке под названием magicsquarestandaloneApplication
в вашей текущей рабочей директории:
magicsquare.exe
или magicsquare
— Исполняемый файл, который имеет .exe
расширение, если скомпилировано в системе Windows или никаком расширении, если скомпилировано на Linux или macOS системах.
run_magicsquare.sh
— Файл сценария оболочки, который устанавливает путь к библиотеке и выполняет приложение. Этот файл только сгенерирован на Linux и macOS системах.
mccExcludedFiles.log
— Файл журнала, который содержит список любых функций тулбокса, которые не были включены в приложение. Для получения информации о неподдерживаемых функциях смотрите Ограничения MATLAB Compiler.
readme.txt
— Текстовый файл, который содержит информацию о необходимых условиях развертывания и списке файлов к пакету для развертывания.
requiredMCRProducts.txt
— Текстовый файл, который содержит идентификаторы продукта продуктов, требуемых MATLAB Runtime запустить приложение.
unresolvedSymbols.txt
— Текстовый файл, который содержит информацию о неразрешенных символах.
Примечание
Сгенерированный независимый исполняемый файл не включает MATLAB Runtime или инсталлятор.
Дополнительные опции могут быть заданы при помощи одной или нескольких разделенных запятой пар аргументов значения имени в compiler.build
команда.
'AdditionalFiles'
— Пути к дополнительным файлам, чтобы включать в автономное приложение.
'AutoDetectDataFiles'
— Отметьте, чтобы автоматически включать файлы данных.
'CustomHelpTextFile'
— Путь к файлу, содержащему текст справки для конечного пользователя приложения.
'EmbedArchive'
— Отметьте, чтобы встроить автономный архив в сгенерированный исполняемый файл.
'ExecutableIcon'
— Путь к изображению пользовательского значка.
'ExecutableName'
— Имя сгенерированного приложения.
'ExecutableSplashScreen'
— Путь к пользовательскому изображению экрана-заставки. Эта опция только используется, когда вы компилируете использование compiler.build.standaloneWindowsApplication
функция.
'ExecutableVersion'
— Версия уровня системы сгенерированного приложения. Это используется только в системах Windows.
'OutputDirectory'
— Путь к выходной директории, которая содержит сгенерированные файлы.
'TreatInputsAsNumeric'
— Отметьте, чтобы интерпретировать входные параметры командной строки, когда числовой MATLAB удваивается.
'Verbose'
— Отметьте, чтобы отобразить информацию о прогрессе, указывающую на выход компилятора во время процесса сборки.
Например, можно задать исполняемое имя и включить многословный выход.
buildResults = compiler.build.standaloneApplication(appFile,... 'ExecutableName','MyMagic','Verbose','On');
Запускать magicsquare
из MATLAB с входным параметром 4
, перейдите к magicsquarestandaloneApplication
папка и выполняет одну из следующих команд на основе вашей операционной системы:
Операционная система | Протестируйте в командном окне MATLAB |
---|---|
Windows | !magicsquare 4 |
macOS | system(['./run_magicsquare.sh ',matlabroot,' 4']); |
Linux | !./magicsquare 4 |
Чтобы запустить ваше автономное приложение за пределами MATLAB, см. Запущенное Автономное приложение.
compiler.package.installer
ФункцияПримечание
Если вы уже создали инсталлятор автономного приложения, использующий приложение Application Compiler, можно пропустить этот раздел. Однако, если вы хотите знать, как создать инсталлятор для автономного приложения из командной строки MATLAB с помощью программируемого подхода, следовать этим инструкциям.
В MATLAB найдите код MATLAB, который вы хотите развернуть как автономное приложение. В данном примере компиляция с помощью файла magicsquare.m
расположенный в
.matlabroot
\extern\examples\compiler
appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
Создайте автономное приложение с помощью compiler.build.standaloneApplication
функционируйте и сохраните выход в compiler.build.Results
объект.
buildResults = compiler.build.standaloneApplication(appFile);
Создайте инсталлятор при помощи Results
объект buildResults
как входной параметр к compiler.package.installer
функция.
compiler.package.installer(buildResults);
Функция создает новую папку, которая содержит инсталлятор автономного приложения.
Дополнительные опции могут быть заданы как одна или несколько разделенных запятой пар аргументов значения имени в compiler.package.installer
команда.
'ApplicationName'
— Имя установленного приложения.
'AuthorCompany'
— Имя компании, которая создала приложение.
'AuthorEmail'
— Адрес электронной почты автора приложения.
'AuthorName'
— Имя автора приложения.
'DefaultInstallationDir'
— Директория по умолчанию, в которой установлено приложение.
'Description'
— Подробное описание приложения.
'InstallationNotes'
— Примечания о дополнительных требованиях для использования приложения.
'InstallerIcon'
— Путь к файлу изображения, используемому в качестве значка установщика.
'InstallerLogo'
— Путь к файлу изображения, используемому в качестве логотипа установщика.
'InstallerName'
— Имя сгенерированного инсталлятора.
'InstallerSplash'
— Путь к файлу изображения, используемому в качестве экрана-заставки инсталлятора.
'OutputDir'
— Путь к папке, которая содержит сгенерированный инсталлятор.
'RuntimeDelivery'
— Метод, чтобы установить MATLAB Runtime в виде одного из следующего:
'web'
(значение по умолчанию) — Опция для инсталлятора, чтобы загрузить MATLAB Runtime во время установки приложения.
'installer'
— Опция, чтобы включать MATLAB Runtime в инсталляторе так, чтобы это могло быть установлено, не соединяясь с Интернетом.
'Shortcut'
— Путь к файлу или папке, которой инсталлятор создаст ярлык во время установки. Это только используется на Windows.
'Summary'
— Сводные данные приложения.
'Version'
— Номер версии сгенерированного приложения.
Например, можно указать, что инсталлятор называет и включает MATLAB Runtime в инсталлятор.
compiler.package.installer(buildResults,... 'InstallerName','MyMagic_Install','RuntimeDelivery','installer');
Установить ваше приложение с помощью инсталлятора, созданного приложением Application Compiler или compiler.package.installer
функционируйте, см. Развертываемое приложение Установки.
В вашей системной командной строке перейдите к папке, содержащей ваш независимый исполняемый файл.
Чтобы запустить приложение, не используя сценарий оболочки на Linux и macOS, необходимо сначала добавить MATLAB Runtime в путь к библиотеке. Для получения дополнительной информации смотрите Установленный Путь MATLAB Runtime для Развертывания Во время выполнения.
Запустите magicsquare
с входным параметром 5
при помощи одной из следующих команд на основе вашей операционной системы:
Операционная система | Команда |
---|---|
Windows | magicsquare 5 |
Linux | Используя сценарий оболочки:
Используя исполняемый файл:
|
macOS | Используя сценарий оболочки:
Используя исполняемый файл:
|
Приложение выводит магический квадрат 5 на 5 в консоли:
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
Чтобы создать ярлык командной строки для приложения на Linux или macOS, используйте alias
команда.
alias mymagic='/path/to/run_magicsquare.sh <MATLAB_RUNTIME_INSTALL_DIR>'
Запустить ваше приложение с входным параметром 4
, введите mymagic 4
в терминале.
Чтобы сделать псевдоним постоянным, добавьте команду к файлу ~/.bash_aliases
в интерпретаторе Bash или ~/.zshrc
в интерпретаторе Zsh.
echo "alias mymagic='~/MATLAB/apps/run_magicsquare.sh /usr/local/MATLAB/MATLAB_Runtime/v910'" >> ~\.bash_aliases
applicationCompiler
| compiler.build.standaloneApplication
| compiler.build.standaloneWindowsApplication
| compiler.package.installer
| deploytool
| mcc