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

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

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

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

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

  • Используйте compiler.build.standaloneApplication функция. Эта функция производит независимый исполняемый файл, который не включает MATLAB Runtime или инсталлятор. Чтобы группировать файлы и создать инсталлятор, использовать compiler.package.installer.

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

Примечание

Расширение файла варьируется в зависимости от платформы, на которой был сгенерирован инсталлятор.

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

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

function m = magicsquare(n)

if ischar(n)
    n=str2double(n);
end
m = magic(n)

В командной строке 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

  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.

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

Примечание

Если вы уже создали автономное приложение с помощью приложения Application Compiler, можно пропустить этот раздел. Однако, если вы хотите знать, как создать автономное приложение из командной строки MATLAB с помощью программируемого подхода, следовать этим инструкциям.

  1. Создайте автономное приложение с помощью compiler.build.standaloneApplication функция.

    appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
    buildResults = compiler.build.standaloneApplication(appFile);

    Информация о типе сборки, включенных файлах и опциях сборки сохранена в compiler.build.Results объект buildResults.

  2. Следующие файлы сгенерированы в папке под названием magicsquarestandaloneApplication в вашей текущей рабочей директории:

    • magicsquare.exe или mymagic.sh— Исполняемый файл, который имеет .exe расширение, если скомпилировано в системе Windows или .sh расширение, если скомпилировано на Linux или macOS.

    • mccExcludedFiles.log— Файл журнала, который содержит список любых функций тулбокса, которые не были включены в приложение. Для получения дополнительной информации о неподдерживаемых функциях смотрите Ограничения MATLAB Compiler.

    • readme.txt— Файл Readme, который содержит информацию о необходимых условиях развертывания и списке файлов к пакету для развертывания.

    • requiredMCRProducts.txt— Текстовый файл, который содержит идентификаторы продукта продуктов, требуемых MATLAB Runtime запустить приложение.

    Примечание

    Этот метод не производит инсталлятор.

  3. Дополнительные опции могут быть заданы как одна или несколько разделенных запятой пар аргументов значения имени в compiler.build команда.

    • 'AdditionalFiles' — Путь к дополнительным файлам, которые будут включены в автономное приложение.

    • 'AutoDetectDataFiles' — Отметьте, чтобы автоматически включать файлы данных.

    • 'CustomHelpTextFile'— Путь к справочному файлу, содержащему текст справки для конечного пользователя приложения.

    • 'EmbedArchive' — Отметьте, чтобы встроить автономный архив в сгенерированный исполняемый файл.

    • 'ExecutableIcon'— Путь к изображению пользовательского значка.

    • 'ExecutableName'— Имя сгенерированного приложения.

    • 'ExecutableSplashScreen'— Путь к пользовательскому изображению экрана-заставки.

    • 'ExecutableVersion'— Версия уровня системы сгенерированного приложения. Это только используется на Windows.

    • 'OutputDirectory' — Путь к выходной директории, где файлы типа "build" сохранены.

    • 'TreatInputsAsNumeric'— Отметьте, чтобы интерпретировать входные параметры командной строки, когда числовой MATLAB удваивается.

    • 'Verbose'— Отметьте, чтобы отобразить информацию о прогрессе, указывающую на выход компилятора во время процесса сборки.

    appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
    buildResults = compiler.build.standaloneApplication(appFile,...
        'ExecutableVersion','2.0','Verbose','On');
  4. Создайте инсталлятор путем передачи compiler.build.Results объект buildResults как входной параметр к compiler.package.installer функция.

    compiler.package.installer(buildResults)

    Это создает новую папку, содержащую инсталлятор.

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

  1. Если вы создали инсталлятор, использующий Приложение Application Compiler, можно установить автономное приложение путем двойного клика по MyAppInstaller_web исполняемый файл в for_redistribution папка.

    Примечание

    Расширение файла варьируется в зависимости от платформы, на которой был сгенерирован инсталлятор.

  2. Если вы хотите соединиться с Интернетом с помощью прокси-сервера, нажмите Connection Settings. Введите настройки прокси-сервера в обеспеченное окно. Нажмите OK.

    К полной установке следуйте инструкциям в пользовательском интерфейсе.

    Примечание

    На Linux и Mac OS X, у вас нет опции добавления настольного ярлыка.

  3. Запустить ваше автономное приложение:

    1. Откройте окно терминала.

    2. Перейдите к папке, в которую вы установили приложение.

      Если вы приняли настройки по умолчанию, можно найти папку в одном из следующих местоположений:

      WindowsC:\Program Files\magicsquare
      macOS/Applications/magicsquare
      Linux/usr/magicsquare

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

Запустите приложение с помощью одной из следующих команд:

Windowsapplication\magicsquare 5
macOS

Во-первых, установите DYLD_LIBRARY_PATH переменная окружения в Окне терминала от того, где вы хотите выполнить приложение.

$export DYLD_LIBRARY_PATH = MATLAB_RUNTIME_INSTALL_DIR/v99/runtime/maci64:MATLAB_RUNTIME_INSTALL_DIR/v99/sys/os/maci64:MATLAB_RUNTIME_INSTALL_DIR/v99/bin/maci64

Теперь запустите приложение:

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

Linux./magicsquare 5

Магический квадрат 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

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

| | | | |