Создайте автономное приложение из MATLAB

Поддерживаемая платформа: Windows®, Linux®, macOS

В этом примере показано, как использовать MATLAB® Compiler™, чтобы группировать предзаписанную функцию, которая распечатывает магический квадрат к командной строке. Целевая система не требует, чтобы лицензированная копия MATLAB запустила приложение.

Можно создать автономные приложения с помощью следующих опций:

ОпцияЦель
Application Compiler

Используйте это приложение, чтобы произвести инсталлятор, который устанавливает и автономное приложение и все необходимые зависимости от целевой системы.

compiler.build.standaloneApplication

Используйте эту функцию, чтобы произвести автономное приложение, которое не включает MATLAB Runtime или инсталлятор. Чтобы произвести автономное приложение, которое не запускает командный процессор Windows, использовать compiler.build.standaloneWindowsApplication.

compiler.package.installerИспользуйте эту функцию, чтобы произвести инсталлятор, который устанавливает и автономное приложение и все необходимые зависимости от целевой системы.
mccИспользуйте эту функцию, чтобы произвести автономное приложение, которое не включает MATLAB Runtime или инсталлятор.

Примечание

Приложение не является кросс-платформенным, и исполняемый тип зависит от платформы, на которой это было сгенерировано.

Создание функции в MATLAB

В MATLAB найдите код MATLAB, который вы хотите развернуть как автономное приложение.

В данном примере компиляция с помощью файла magicsquare.m расположенный в matlabroot\extern\examples\compiler.

function 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

Создайте автономное приложение Используя приложение Application Compiler

Группируйте функцию в автономное приложение с помощью приложения Application Compiler. В качестве альтернативы, если вы хотите создать автономное приложение из окна команды MATLAB с помощью программируемого подхода, смотрите Создают Автономное приложение Используя compiler.build.standaloneApplication.

  1. На вкладке MATLAB Apps, на ультраправом из раздела Apps, кликают по стреле. В Application Deployment нажмите Application Compiler.

    Альтернативно, можно открыть приложение Application Compiler путем ввода applicationCompiler в подсказке MATLAB.

  2. В окне проекта MATLAB Compiler задайте основной файл приложения MATLAB, которое вы хотите развернуть.

    1. В разделе Main File панели инструментов щелкнуть.

    2. В окне Add Files просмотрите к matlabroot\extern\examples\compiler, и выберите magicsquare.m. Нажмите Open.

      Функциональный magicsquare.m добавляется к списку основных файлов.

  3. Решите, включать ли инсталлятор MATLAB Runtime в сгенерированное приложение путем выбора одной из этих двух опций в разделе Packaging Options:

    • Runtime downloaded from web — Генерирует инсталлятор, который загружает MATLAB Runtime и устанавливает его наряду с развернутым приложением MATLAB.

    • Runtime included in package — Генерирует инсталлятор, который включает инсталлятор MATLAB Runtime.

  4. Настройте пакетное приложение и его внешний вид:

    • 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. По умолчанию этот флажок устанавливается. Если флажок устанавливается, выведите от своей консоли, только приложение не отображено. Поскольку этим примером является консоль только приложение, флажок должен быть снят.

  5. Чтобы сгенерировать пакетное приложение, нажмите Package.

    В диалоговом окне Save Project задайте местоположение, чтобы сохранить проект.

  6. В диалоговом окне Package проверьте, что Open output folder when process completes выбран.

    Когда упаковочный процесс будет завершен, исследуйте сгенерированный результат.

    • Три папки сгенерированы в целевом месте папки: for_redistribution, for_redistribution_files_only, и for_testing.

      Для получения дополнительной информации о файлах, сгенерированных в этих папках, смотрите Файлы, Сгенерированные После Упаковки функций MATLAB.

    • PackagingLog.html — Файл журнала сгенерирован MATLAB Compiler.

  7. Чтобы установить ваше автономное приложение, смотрите, Устанавливают Автономное приложение.

Создайте автономное приложение Используя compiler.build.standaloneApplication

Как альтернатива приложению Application Compiler, можно создать автономное приложение с помощью программируемого подхода с помощью следующих шагов. Если вы уже создали приложение с помощью Application Compiler, смотрите, Устанавливают Автономное приложение.

  1. В MATLAB найдите код MATLAB, который вы хотите развернуть как автономное приложение. В данном примере компиляция с помощью файла magicsquare.m расположенный в matlabroot\extern\examples\compiler.

    appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
  2. Создайте автономное приложение с помощью 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 или инсталлятор.

    Дополнительные опции могут быть заданы при помощи одной или нескольких разделенных запятой пар аргументов name-value в 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');
  3. Запускать magicsquare из MATLAB с входным параметром 4, перейдите к magicsquarestandaloneApplication папка и выполняет одну из следующих команд на основе вашей операционной системы:

    Операционная системаПротестируйте в командном окне MATLAB
    Windows!magicsquare 4
    macOSsystem(['./run_magicsquare.sh ',matlabroot,' 4']);
    Linux!./magicsquare 4

  4. Чтобы запустить ваше автономное приложение за пределами MATLAB, см. Запущенное Автономное приложение.

Создайте инсталлятор автономного приложения Используя compiler.package.installer Функция

Как альтернатива приложению Library Compiler, можно создать инсталлятор автономного приложения, использующий программируемый подход с помощью следующих шагов. Если вы уже создали установщика приложения с помощью Library Compiler, смотрите, Устанавливают Автономное приложение.

  1. В MATLAB найдите код MATLAB, который вы хотите развернуть как автономное приложение. В данном примере компиляция с помощью файла magicsquare.m расположенный в matlabroot\extern\examples\compiler.

    appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
  2. Создайте автономное приложение с помощью compiler.build.standaloneApplication функционируйте и сохраните выход в compiler.build.Results объект.

    buildResults = compiler.build.standaloneApplication(appFile);
  3. Создайте инсталлятор при помощи Results объект buildResults как входной параметр к compiler.package.installer функция.

    compiler.package.installer(buildResults);

    Функция создает новую папку, которая содержит инсталлятор автономного приложения.

    Дополнительные опции могут быть заданы как одна или несколько разделенных запятой пар аргументов name-value в 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');

Установите автономное приложение

Запустите автономное приложение

  1. В вашей системной командной строке перейдите к папке, содержащей ваш независимый исполняемый файл.

  2. Чтобы запустить приложение, не используя сценарий оболочки на Linux и macOS, необходимо сначала добавить MATLAB Runtime в путь к библиотеке. Для получения дополнительной информации смотрите Установленный Путь MATLAB Runtime для Развертывания.

  3. Запустите magicsquare с входным параметром 5 при помощи одной из следующих команд на основе вашей операционной системы:

    Операционная системаКоманда
    Windowsmagicsquare 5
    Linux

    Используя сценарий оболочки:

    ./run_magicsquare.sh <MATLAB_RUNTIME_INSTALL_DIR> 5

    Используя исполняемый файл:

    ./magicsquare 5

    macOS

    Используя сценарий оболочки:

    ./run_magicsquare.sh <MATLAB_RUNTIME_INSTALL_DIR> 5

    Используя исполняемый файл:

    ./magicsquare.app/Contents/macOS/magicsquare 5

  4. Приложение выводит магический квадрат 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
  5. Чтобы создать ярлык командной строки для приложения на Linux или macOS, используйте alias команда.

    alias mymagic='/path/to/run_magicsquare.sh <MATLAB_RUNTIME_INSTALL_DIR>'

    Запустить ваше приложение с входным параметром 4, введите mymagic 4 в терминале.

  6. Чтобы сделать псевдоним постоянным, добавьте команду к файлу ~/.bash_aliases в интерпретаторе Bash или ~/.zshrc в интерпретаторе Zsh.

    echo "alias mymagic='~/MATLAB/apps/run_magicsquare.sh /usr/local/MATLAB/MATLAB_Runtime/v911'" >> ~\.bash_aliases

Смотрите также

| | | | |

Похожие темы