Как создать exe файл matlab

REDMOND

Matlab Coder — Генерация EXE из файла.m

Моя основная цель — интегрировать код, написанный в matlab (.m) с другим приложением С#. Я рассмотрел 2 варианта:

    Плюсы: Используйте, чтобы использовать! Минусы: нужна лицензия ($$), которой я пока не располагаю. Требуется MCR, установленная на ПК конечного пользователя.
    Плюсы: не нужно ничего запускать. Минусы: трудно использовать новичка. Не поддерживайте все функции.

До сих пор я пытаюсь сделать "доказательство концепции" варианта 2), но без успеха. Я даже не знаю, как начать мой вопрос; Я улучшу свой вопрос, как только я узнаю панели инструментов немного больше. Пожалуйста, сообщите мне, если вопрос не соответствует стандартам.

Какова связь между Matlab Coder, Real-Time Workshop (RTW) и RTW Embedded Coder? Я уверен, что у меня есть оба лицензии RTW, но я не уверен, что у меня есть "Matlab Coder", Я пытаюсь использовать команду "emlc" для генерации EXE. Это правильная команда? Мне не удалось заставить его работать. Я сгенерировал код C/C++ правильно, но EXE не сгенерирован (я уже настроил MEX-настройку) Код C/C++, созданный "emlc", может быть импортирован в Visual Studio для компиляции и сборки EXE? Это супер-легко? "Emlc" принадлежит к какой панели инструментов? Что означает директива% # codegen? Представьте, что у меня есть 2 функции (functionA, functionB) в файле.m. Представьте себе, что я смог генерировать EXE. Что было бы точкой входа для exe? Будет ли это functionA или functionB? Как определить тип данных?

MATLAB Coder — относительно новый продукт, который позволяет вам генерировать код C из MATLAB без Simulink. До этого вам понадобилось Simulink и Work-Workshop (даже если вы не использовали Simulink) для генерации кода C из MATLAB с использованием emlc . Когда MATLAB Coder был выпущен, Real-Time Workshop был переименован в Simulink Coder и Real-Time Workshop Embedded Coder в Embedded Coder. Разница между MATLAB/Simulink Coder и Embedded Coder заключается в том, что "базовые" продукты кодера позволяют генерировать функционально правильный код, но этот код не оптимизирован для работы в реальном времени или настраивается для соответствия определенным стандартам кодирования. Embedded Coder позволяет оптимизировать и настроить генерацию кода с помощью MATLAB и Simulink Coder. Если у вас была лицензия на RTW, вам была бы предоставлена бесплатная лицензия MATLAB Coder, когда она была выпущена, поскольку MATLAB Coder является предварительным условием для Simulink Coder.

Я считаю, что emlc принадлежит MATLAB Coder. Код, созданный MATLAB Coder, может быть импортирован и скомпилирован в Visual Studio. Я не знаю, насколько это просто на самом деле, но есть функция, называемая "Pack N Go", которая должна облегчить этот процесс, проверьте его. Также есть цель Visual Studio, но не уверен, что это в базе MATLAB Coder или вам нужен также встроенный кодер.

Компиляция stand-alone приложений в Matlab

Многие товарищи даже долгое время просидевшие на Matlab и создавшие очень интересные вещи как файл-функции до сих пор так и не дошли до создания полноценного приложения, а это дело очень необходимо для регистрации, например, очень необходимой для аспирантов и соискателей. Ну давайте по порядку.

В ходе работы над своей дипломной работой столкнулся с Matlab’ом. Первое знакомство к тесному общению никак не подталкивало, ибо грамотных источников по работе с этим монстром на русском языке практически не существует. Потихоньку грыз и догрыз до конкретной проблемы. Как реализовать графическое отображение созданной мною файл функции *.m?

Первый шаг

Если перед вами стала такая проблема, необходимо уяснить каким образом будет устроена ваша программа, т.е. что и куда вводить в качестве исходных данных и как результаты расчета выводить. Лучше отобразить на бумаге.

Второй шаг

При готовом эскизе, добро пожаловать в GUI. Штука на самом деле не очень сложная для тех кто уже пробовал себя в других системах, но новичку придется первое время обломать зубы. Методом научного тыка, в принципе, вполне можно разобраться, так что дерзайте. Ах, да в процессе создания визуальной части сразу определитесь что будет для вас локальными и глобальными переменными, а так же процесс переноса и записи данных, если планируете делать несколько окон. И ещё, последнее по этой части: постарайтесь разбить этот процесс на более маленькие кусочки, пусть будет много файлов GUI (*.fig) и прикрепленных к ним *.m, но это позволит вам избежать головной боли при отладке.

Шаг третий

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

Далее нужно выбрать тип компилятора и можно приступать к созданию проекта. Matlab попросит дать ему имя главной файл функции, а также остальной список причиндалов используемых в проекте. Жмем кнопочку build и вуаля. Готовое приложение можно запускать.

Документация

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

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

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

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

Примечание

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

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

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

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

В окне команды MATLAB введите magicsquare(5) .

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

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

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

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

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

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

В окне Add Files просмотрите к matlabroot \extern\examples\compiler , и выберите magicsquare.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 — Файлы, которые установлены с вашим приложением. Эти файлы включают:

Сгенерированный исполняемый файл для целевой платформы

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, можно создать автономное приложение с помощью программируемого подхода с помощью следующих шагов. Если вы уже создали приложение с помощью Application Compiler, смотрите, Устанавливают Автономное приложение.

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

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

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

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

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

run_magicsquare.sh — Файл сценария оболочки, который устанавливает путь к библиотеке и выполняет приложение. Этот файл только сгенерирован на Linux и macOS системах.

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

REDMOND

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’ — Отметьте, чтобы отобразить информацию о прогрессе, указывающую на выход компилятора во время процесса сборки.

Например, можно задать исполняемое имя и включить многословный выход.

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

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

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

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

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

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

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

Создайте инсталлятор при помощи Results объект buildResults как входной параметр к compiler.package.installer функция.

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

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

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

Установить ваше приложение с помощью инсталлятора, созданного приложением Application Compiler или compiler.package.installer функционируйте, см. Развертываемое приложение Установки.

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

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

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

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

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

./run_magicsquare.sh <MATLAB_RUNTIME_INSTALL_DIR> 5

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

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

./run_magicsquare.sh <MATLAB_RUNTIME_INSTALL_DIR> 5

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

Приложение выводит магический квадрат 5 на 5 в консоли:

Чтобы создать ярлык командной строки для приложения на Linux или macOS , используйте alias команда.

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

REDMOND

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *