Поддерживаемые платформы: Windows ®, Linux ®, macOS
В этом примере показано, как использовать MATLAB ® Compiler™ для упаковки предварительно написанной функции, которая печатает магический квадрат в командной строке. Для запуска приложения целевой системе не требуется лицензионная копия MATLAB.
Автономные приложения можно создавать с помощью следующих опций.
| Выбор | Цель |
|---|---|
| Компилятор приложения | Это приложение используется для создания программы установки, которая устанавливает как автономное приложение, так и все необходимые зависимости в целевой системе. |
compiler.build.standaloneApplication | Эта функция используется для создания автономного приложения, не включающего среду выполнения MATLAB или программу установки. Чтобы создать автономное приложение, которое не запускает командную оболочку Windows, используйте |
compiler.package.installer | Эта функция используется для создания программы установки, которая устанавливает как автономное приложение, так и все необходимые зависимости в целевой системе. |
mcc | Эта функция используется для создания автономного приложения, не включающего среду выполнения MATLAB или программу установки. |
Примечание
Приложение не является кроссплатформенным, а тип исполняемого файла зависит от платформы, на которой оно было создано.
В 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 (MATLAB Apps) в правой части раздела Приложения (Apps) щелкните стрелку. В разделе Развертывание приложений выберите Компилятор приложений.

Кроме того, приложение Application Compiler можно открыть, введя applicationCompiler по запросу MATLAB.
В окне проекта компилятора MATLAB укажите основной файл приложения MATLAB, которое требуется развернуть.
В разделе «Основной файл» на панели инструментов нажмите.![]()
В окне «Добавить файлы» выберите и выберите matlabroot\extern\examples\compilermagicsquare.m. Щелкните Открыть (Open).
Функция magicsquare.m добавляется в список основных файлов.
Решите, следует ли включить программу установки среды выполнения MATLAB в созданное приложение, выбрав один из двух вариантов в разделе «Параметры упаковки»:
Среда выполнения, загруженная из Интернета - создает программу установки, которая загружает среду выполнения MATLAB и устанавливает ее вместе с развернутым приложением MATLAB.
Среда выполнения, включенная в пакет - создает программу установки, включающую программу установки среды выполнения MATLAB.
Настройте упакованное приложение и его внешний вид:

Сведения о приложении - редактируемые сведения о развернутом приложении. Можно также настроить внешний вид автономных приложений, изменив значок приложения и заставку. Созданная программа установки использует эту информацию для заполнения метаданных установленного приложения. См. раздел Настройка установщика.
Параметры типа ввода командной строки - выбор типов входных данных для автономного приложения. Дополнительные сведения см. в разделе Определение типа данных ввода в командной строке (только для автономных приложений).
Дополнительные параметры установщика - изменение пути установки по умолчанию для созданного установщика и выбор пользовательского логотипа. См. раздел Изменение пути установки.
Файлы, необходимые для запуска приложения - дополнительные файлы, необходимые для запуска созданного приложения. Эти файлы включены в созданную программу установки приложения. См. раздел Управление необходимыми файлами в проекте компилятора.
Файлы, установленные для конечного пользователя - файлы, установленные в приложении. Эти файлы включают в себя:
Произведенный readme.txt
Созданный исполняемый файл для целевой платформы
См. раздел Указание файлов для установки с приложением.
Дополнительные параметры среды выполнения - специфичные для платформы параметры управления создаваемым исполняемым файлом. См. раздел Дополнительные параметры среды выполнения.
Внимание
В операционных системах Windows при создании приложения только для консоли снимите флажок Не отображать командную оболочку Windows (консоль) для выполнения. По умолчанию этот флажок установлен. Если флажок установлен, вывод данных только из приложения консоли не отображается. Поскольку этот пример является приложением только для консоли, флажок должен быть снят.
Чтобы создать упакованное приложение, щелкните Пакет.
В диалоговом окне «Сохранение проекта» укажите местоположение для сохранения проекта.
В диалоговом окне «Пакет» убедитесь, что выбрана опция «Открыть папку вывода по завершении процесса».
После завершения процесса упаковки проверьте сгенерированные выходные данные.
В целевой папке создаются три папки: for_redistribution, for_redistribution_files_only, и for_testing.
Дополнительные сведения о файлах, созданных в этих папках, см. в разделе Файлы, созданные после упаковки функций MATLAB.
PackagingLog.html - Файл журнала, созданный компилятором MATLAB.
Чтобы установить автономное приложение, см. раздел Установка автономного приложения.
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.
readme.txt - текстовый файл, содержащий сведения о предпосылках развертывания и список файлов для пакета для развертывания.
requiredMCRProducts.txt - текстовый файл, содержащий идентификаторы продуктов, необходимых для выполнения приложения в среде выполнения MATLAB.
unresolvedSymbols.txt - текстовый файл, содержащий информацию о неразрешенных символах.
Примечание
Созданный автономный исполняемый файл не включает среду выполнения MATLAB или программу установки.
Дополнительные параметры можно задать с помощью одной или нескольких пар аргументов «имя-значение», разделенных запятыми, в 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, указанный как одно из следующих:
'web' (по умолчанию) - возможность загрузки программой установки среды выполнения MATLAB во время установки приложения.
'installer' - Возможность включения среды выполнения MATLAB в программу установки, чтобы ее можно было установить без подключения к Интернету.
'Shortcut' - путь к файлу или папке, в которые программа установки создаст ярлык во время установки. Используется только в Windows.
'Summary' - Резюме заявки.
'Version' - номер версии созданного приложения.
Например, можно указать имя программы установки и включить в программу установки среду выполнения MATLAB.
compiler.package.installer(buildResults,... 'InstallerName','MyMagic_Install','RuntimeDelivery','installer');
Установка приложения с помощью программы установки, созданной приложением компилятора приложений или compiler.package.installer см. раздел Установка развернутого приложения.
В командной строке системы перейдите к папке, содержащей автономный исполняемый файл.
Чтобы запустить приложение без использования сценария оболочки в Linux и macOS, необходимо сначала добавить MATLAB Runtime в путь к библиотеке. Дополнительные сведения см. в разделе Установка пути времени выполнения MATLAB для развертывания во время выполнения.
Управляемый 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 в оболочке Зша.
echo "alias mymagic='~/MATLAB/apps/run_magicsquare.sh /usr/local/MATLAB/MATLAB_Runtime/v910'" >> ~\.bash_aliasesapplicationCompiler | compiler.build.standaloneApplication | compiler.build.standaloneWindowsApplication | compiler.package.installer | deploytool | mcc