compiler.build.standaloneApplication

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

Описание

пример

compiler.build.standaloneApplication(AppFile) создает развертываемое автономное приложение с помощью MATLAB® функция, класс или приложение, заданное AppFile. Тип исполняемого файла определяется операционной системой. Сгенерированный исполняемый файл не включает MATLAB Runtime или инсталлятор.

пример

compiler.build.standaloneApplication(AppFile,Name,Value) создает автономное приложение с дополнительными опциями, заданными с помощью одного или нескольких аргументов имя-значение. Опции включают имя исполняемого файла, текст справки и изображение значка.

пример

compiler.build.standaloneApplication(opts) создает автономное приложение с дополнительными опциями, заданными с помощью compiler.build.StandaloneApplicationOptions opts объекта. Вы не можете задать какие-либо другие опции, используя аргументы имя-значение.

пример

results = compiler.build.standaloneApplication(___) возвращает информацию о сборке как compiler.build.Results объект, использующий любую из комбинаций аргументов в предыдущих синтаксисах. Информация о сборке состоит из типа сборки, путей к скомпилированным файлам и опций сборки.

Примеры

свернуть все

Создайте автономное приложение с помощью файла функции, который генерирует магический квадрат.

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

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

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

compiler.build.standaloneApplication(appFile);

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

  • magicsquare.exe или magicsquare - Исполняемый файл с .exe расширение, если оно скомпилировано в Windows® система, или без расширения, если скомпилирован в Linux® или системы macOS.

  • run_magicsquare.sh - Файл скрипта Shell, который задает путь к библиотеке и выполняет приложение. Этот файл генерируется только в системах Linux и macOS.

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

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

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

  • unresolvedSymbols.txt - Текстовый файл, содержащий информацию о неразрешенных символах.

Чтобы запустить magicsquare от MATLAB с входным параметром 4, перейдите к magicsquarestandaloneApplication папка и выполните одну из следующих команд на основе вашей операционной системы:

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

Чтобы запустить magicsquare от MATLAB с входным параметром 4, перейдите к magicsquarestandaloneApplication папка и выполните одну из следующих команд на основе вашей операционной системы:

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

Приложение выводит 4-by- 4 магический квадрат.

    16     2     3    13
     5    11    10     8
     9     7     6    12
     4    14    15     1

Чтобы запустить автономное приложение за пределами MATLAB, смотрите Запуск автономного приложения.

Создайте автономное приложение и настройте его с помощью аргументов имя-значение.

Написание функции MATLAB, которая использует подфункцию для вычисления диагональных компонентов магического квадрата. Сохраните функции в файлы с именем mymagicdiag.m и mydiag.m.

function out = mymagicdiag(in)
X = magic(in);
out = mydiag(X);
function out = mydiag(in)
out = [diag(in)]';

Создайте автономное приложение с помощью mymagicdiag.m. Используйте аргументы пары "имя-значение", чтобы задать имя исполняемого файла, добавьте mydiag.m файл функции, и интерпретируйте входы командной строки как числа с двойной точностью.

compiler.build.standaloneApplication('mymagicdiag.m',...
    'ExecutableName','MagicDiagApp',...
    'AdditionalFiles','mydiag.m',...
    'TreatInputsAsNumeric','On')

Функция генерирует следующие файлы в папке с именем MagicDiagAppstandaloneApplication в вашей текущей рабочей директории:

  • MagicDiagApp.exe или MagicDiagApp

  • run_MagicDiagApp.sh (только в системах Linux и macOS)

  • mccExcludedFiles.log

  • readme.txt

  • requiredMCRProducts.txt

Чтобы запустить MagicDiagApp от MATLAB с входным параметром 4, перейдите к MagicDiagAppstandaloneApplication папка и выполните одну из следующих команд на основе вашей операционной системы:

Операционная системаТест в Командном Окне MATLAB
Windows!MagicDiagApp 4
macOSsystem(['./run_MagicDiagApp.sh ',matlabroot,' 4']);
Linux!./MagicDiagApp 4

Приложение выводит диагональные элементы 4-by- 4 магический квадрат.

    16     11     6    1

Создайте несколько автономных приложений в системе Windows с помощью compiler.build.StandaloneApplicationOptions объект.

В данном примере используйте файл magicsquare.m расположен в matlabroot\ extern\примеры\компилятор.

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

Создайте StandaloneApplicationOptions объект, использующий appFile. Используйте аргументы имя-значение, чтобы задать общую выходную директорию, интерпретировать входы командной строки как числовые двойные и отобразить информацию о прогрессе в процессе сборки.

opts = compiler.build.StandaloneApplicationOptions(appFile,...
    'OutputDir','D:\Documents\MATLAB\work\MagicBatch',...
    'TreatInputsAsNumeric','On',...
    'Verbose','On')
opts =

  StandaloneApplicationOptions with properties:

            CustomHelpTextFile: ''
              EmbedArchive: on
            ExecutableIcon: 'C:\Program Files\MATLAB\R2021a\toolbox\compiler\resources\default_icon_48.png'
            ExecutableName: 'magicsquare'
    ExecutableSplashScreen: 'C:\Program Files\MATLAB\R2021a\toolbox\compiler\resources\default_splash.png'
         ExecutableVersion: '1.0.0.0'
                   AppFile: 'C:\Program Files\MATLAB\R2021a\extern\examples\compiler\magicsquare.m'
      TreatInputsAsNumeric: on
           AdditionalFiles: {}
       AutoDetectDataFiles: on
                   Verbose: on
                 OutputDir: 'D:\Documents\MATLAB\work\MagicBatch'

Создайте автономное приложение путем передачи StandaloneApplicationOptions объект как вход в функцию сборки.

compiler.build.standaloneApplication(opts);

Чтобы создать новое автономное приложение с помощью файла функции example2.m с теми же опциями используйте запись через точку для изменения AppFile существующего StandaloneApplicationOptions объект перед повторным запуском функции сборки.

opts.AppFile = 'example2.m';
compiler.build.standaloneApplication(opts);

Путем изменения AppFile аргумент и перекомпиляция, можно создать несколько приложений с помощью одного и того же объекта опции.

Создайте автономное приложение и сохраните информацию о типе сборки, сгенерированных файлах и опциях сборки в compiler.build.Results объект.

Скомпилируйтесь с использованием файловой magicsquare.m расположен в matlabroot\ extern\примеры\компилятор.

results = compiler.build.standaloneApplication('magicsquare.m')
results = 

  Results with properties:

            BuildType: 'standaloneApplication'
                Files: {2×1 cell}
              Options: [1×1 compiler.build.StandaloneApplicationOptions]

The Files свойство содержит пути к magicsquare независимый исполняемый файл и readme.txt файлы.

Входные параметры

свернуть все

Путь к основному файлу, используемому для сборки приложения, задается как строка вектора символов или строковый скаляр. Файл должен быть функцией MATLAB, классом или приложением одного из следующих типов: .m, .p, .mlx, .mlappили допустимый файл MEX.

Пример: 'mymagic.m'

Типы данных: char | string

Автономные опции сборки приложения, заданные как compiler.build.StandaloneApplicationOptions объект.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'EmbedArchive','on'

Дополнительные файлы для включения в автономное приложение, заданные как вектор символов, строковый скаляр, строковые массивы или массив ячеек из векторов символов. Пути к файлам могут быть относительно текущей рабочей директории или абсолютными.

Пример: 'AdditionalFiles',["myvars.mat","myfunc.m"]

Типы данных: char | string | cell

Флаг для автоматического включения файлов данных, заданный как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

  • Если вы задаете это свойство равным 'on', затем файлы данных, которые вы предоставляете в качестве входов для определенных функций (таких как load и fopen) автоматически включаются в автономное приложение.

  • Если вы задаете это свойство равным 'off', затем необходимо добавить файлы данных в приложение с помощью AdditionalFiles свойство.

Пример: 'AutoDetectDataFiles','Off'

Типы данных: logical

Путь к файлу справки, содержащему текст справки для конечного пользователя приложения, заданный как вектор символов или строковый скаляр. Путь может быть относительно текущей рабочей директории или абсолютным.

Пример: 'CustomHelpTextFile','D:\Documents\MATLAB\work\help.txt'

Типы данных: char | string

Флаг для встраивания автономного архива, заданный как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

  • Если вы задаете это свойство равным 'on', затем функция встраивает архив в независимый исполняемый файл.

  • Если вы задаете это свойство равным 'off', затем функция генерирует автономный архив как отдельный файл.

Пример: 'EmbedArchive','Off'

Типы данных: logical

Путь к изображению значка, заданный как вектор символов или строковый скаляр. Это изображение используется в качестве значка для независимого исполняемого файла. Путь может быть относительно текущей рабочей директории или абсолютным. Принятые типы изображений .ico, .jpg, .jpeg, .png, .bmp, и .gif.

Путь по умолчанию:

'matlabroot\toolbox\compiler\resources\default_icon_48.png'

Пример: 'ExecutableIcon','D:\Documents\MATLAB\work\images\myIcon.png'

Типы данных: char | string

Имя сгенерированного приложения, заданное как вектор символов или строковый скаляр. Значение по умолчанию является именем файла AppFile. Целевые выходные имена должны начинаться с буквы или символа подчеркивания и содержать только альфа-числовые символы или символы подчеркивания.

Пример: 'ExecutableName','MagicSquare'

Типы данных: char | string

Путь к изображению заставки, заданный как вектор символов или строковый скаляр. Путь может быть относительно текущей рабочей директории или абсолютным. Принятые типы изображений .jpg, .jpeg, .png, .bmp, и .gif. Размер изображения изменяется до 400 пикселей на 400 пикселей.

Путь по умолчанию:

'matlabroot\toolbox\toolbox\compiler\resources\default_splash.png'

Примечание

Это используется только в приложениях Windows, созданных с использованием compiler.build.standaloneWindowsApplication.

Пример: 'ExecutableSplashScreen','D:\Documents\MATLAB\work\images\mySplash.png'

Типы данных: char | string

Исполняемая версия, заданная как вектор символов или строковый скаляр.

Примечание

Это используется только в операционных системах Windows.

Пример: 'ExecutableVersion','4.0'

Типы данных: char | string

Путь к выходу директории, где сохраняются файлы сборки, задается в виде вектора символов или строкового скаляра. Путь может быть относительно текущей рабочей директории или абсолютным.

Имя по умолчанию папки сборки является исполняемым именем, добавленным с помощью standaloneApplication.

Пример: 'OutputDir','D:\Documents\MATLAB\work\MagicSquarestandaloneApplication'

Типы данных: char | string

Флаг для интерпретации входов командной строки как числовых значений, заданных как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

  • Если вы задаете это свойство равным 'on', затем входы командной строки обрабатываются как числа MATLAB с двойной точностью.

  • Если вы задаете это свойство равным 'off'затем входы командной строки обрабатываются как векторы символов MATLAB.

Пример: 'TreatInputsAsNumeric','On'

Типы данных: logical

Флаг для управления подробностями сборки, заданный как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

  • Если вы задаете это свойство равным 'on', затем в командном окне MATLAB отображается информация о прогрессе, указывающая на выход компилятора в процессе сборки.

  • Если вы задаете это свойство равным 'off'затем командное окно не отображает информацию о прогрессе.

Пример: 'Verbose','On'

Типы данных: logical

Выходные аргументы

свернуть все

Результаты построения, возвращенные как compiler.build.Results объект. The Results объект содержит:

  • Тип сборки, который 'standaloneApplication'

  • Пути к скомпилированным файлам

  • Опции сборки, заданные как StandaloneApplicationOptions объект

Совет

  • Чтобы создать автономное приложение из системной командной строки с помощью этой функции, используйте matlab функция со -batch опция. Для примера:

    matlab -batch compiler.build.standaloneApplication('mymagic.m')

Введенный в R2020b