Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.97/767: Рейтинг темы: голосов - 767, средняя оценка - 4.97
454 / 280 / 13
Регистрация: 13.11.2012
Сообщений: 588
Записей в блоге: 1
1

Создание exe файла в MatLab

01.07.2013, 15:28. Показов 143584. Ответов 164
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Много раз народ спрашивал, как сделать exe файл в MatLab и возможно ли запустить свою программу, не используя сам MatLab. Привожу простенький метод создания экзешников.

Для теста я взял программу подсчёта полож/отриц/нулей среди задаваемых чисел с простейшим интерфейсом.
Создание exe файла в MatLab
)
Оформляем наш код как функцию и запускаем deploytool, во всплывающем окне выбираем стандартное приложение Windows и вводим название нашего проекта.
Создание exe файла в MatLab

Открывается наш проект. Здесь в поле main мы располагаем наш главный файл(функцию). В поле
вспомогательных файлов помещаются файлы с данными, к которым обращается программа, GUI файлы, функции, к которым в течение работы обращается главная программа или функции, не находящиеся в нужной директории, а также коды на C/C++, которые вы хотите скомпилировать и использовать в дальнейшем в вашем приложении. В нашем случаи есть только исполняющий файл-функция, поэтому это поле остаётся пустым.
Создание exe файла в MatLab

В разделе Package к стандартным создаваемым файлам добавляем установку MCR (MATLAB Component Runtime). Это полный набор dll-библиотек для поддержки работы языка MatLab. Для этого жмём на Add MCR и выбираем встраивание библиотек в пакет.
Создание exe файла в MatLab

Теперь создаём наш составленный проект, нажимая на кнопку Build, а потом создаем пакет вспомогательных файлов, нажимая на кнопку Package. После этого в исходной папке появится файл с разрешением .prj и установочный экзешник для библиотек.
Создание exe файла в MatLab

Запускаем экзешник и после разархивирования устанавливаем MCR.
Создание exe файла в MatLab

Теперь наш экзешник окончательно готов. Для теста закрываем MatLab и запускаем программу.
Создание exe файла в MatLab

Как видно, всё прекрасно работает. Добавлю, что созданный нами exe можно запускать и на компьютерах, где не установлен сам MatLab. Для этого требуется лишь установить MCR перед запуском программы. (установочный файл находится в папке проекта).
Код файл-функции:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
function  Proga
clear all;close all;
name_peremennie={'Переменная 1:','Переменная 2:','Переменная 3:','Переменная 4:'};
peremennie_initial={'0','0','0','0'};
options.Resize='on';
options.WindowStyle='normal';
options.Interpreter='none';
Peremennie=inputdlg(name_peremennie,'Ввод переменных',1,peremennie_initial,options);
Pos_num=0;
Neg_num=0;
Zero_num=0;
for i=1:length(Peremennie)
    A(i)=str2num(Peremennie{i});
    if A(i)==0
        Zero_num=Zero_num+1;
    else
        if A(i)>0
          Pos_num=Pos_num+1;
        else
           Neg_num=Neg_num+1;
        end
    end
end
Answer1=cat(2,'Количество положительных переменных равно ',num2str(Pos_num));
Answer2=cat(2,'Количество отрицательный ',num2str(Neg_num));
Answer3=cat(2,'Количество нулей ',num2str(Zero_num));
msgbox({Answer1,Answer2,Answer3},'Ответ');
end
13
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.07.2013, 15:28
Ответы с готовыми решениями:

Matlab gui открытие exe файла в программе
Такая роблема, когда откраваешь в .m файле то он запускает эти exe, но когда этот файл сам в exe он...

Создание exe файла
Здравствуйте хочу узнать возможно ли в VBA создать exe файл, что бы каждый раз не открывать...

Создание exe файла
У меня есть консольное приложение, и чтобы его запустить я захожу в Visual Studio 2010 выбираю...

Создание exe файла
Привет всем. Как создать програму на C++ Builder 6, которая может создать любой (для примеру) exe...

164
5242 / 3570 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
01.07.2013, 17:10 2
Хм чудесным образом скомпилировал, даже инсталяху получил, но вот при запуске exe-шника пишет ошибку
"Приложению не удалось запуститься, поскольку mclmrrt710.dll не был найден"
Что я делаю не так?
Может с версией проблема?

PS: MRC установил!
1
454 / 280 / 13
Регистрация: 13.11.2012
Сообщений: 588
Записей в блоге: 1
01.07.2013, 17:42  [ТС] 3
Зосима, напомни, у тебя же MatLab2008b??? Или я ошибаюсь?

Добавлено через 17 минут
В целом это видимо проблема несоответствия runtime compiler'а с версией Матлаба. Попробуй найти соответствующую библиотеку, она лежит где-то типа MATLAB\MATLAB Compiler Runtime\v79\runtime\win32\ и попробуй там заменить файл "mclmcrrt7**.dll" на "mclmcrrt710.dll"
Заработало?
0
5242 / 3570 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
01.07.2013, 17:47 4
У меня R2009, но в папке D:\MATLAB_R2009a\bin\win32\ есть этот mclmcrrt710.dll
0
454 / 280 / 13
Регистрация: 13.11.2012
Сообщений: 588
Записей в блоге: 1
01.07.2013, 20:28  [ТС] 5
Цитата Сообщение от Зосима Посмотреть сообщение
У меня R2009, но в папке D:\MATLAB_R2009a\bin\win32\ есть этот mclmcrrt710.dll
Переименуй его в mclmcrrt79.dll

Добавлено через 3 минуты
а в runtime\win32\ такого файла нет?

Добавлено через 2 часа 33 минуты
Зосима, ну как, что-нибудь получилось???
0
5242 / 3570 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
01.07.2013, 20:40 6
Я уже на даче, пробовать буду завтра
0
5242 / 3570 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
02.07.2013, 13:12 7
Цитата Сообщение от lomt Посмотреть сообщение
Переименуй его в mclmcrrt79.dll
Переименовал. Запустил. Открылось командное окно (DOS) и повисло окошко MS Visual C++ Runtime Library
Миниатюры
Создание exe файла в MatLab  
0
454 / 280 / 13
Регистрация: 13.11.2012
Сообщений: 588
Записей в блоге: 1
02.07.2013, 13:19  [ТС] 8
а в runtime\win32\ файла mclmcrrt7 нет?

Добавлено через 2 минуты
Я нашёл обсуждение схожей проблемы, косяк действительно в не согласовании MCR и с версией Матлаб
http://www.mathworks.com/matla... ead/249680
0
5242 / 3570 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
02.07.2013, 15:53 9
У меня нет папки D:\MATLAB_R2009a\runtime (не устанавливал компонент)

*зы: я устанавливал MRC и там есть папка MATLAB Compiler Runtime\v710\ и в ней лежит нужный файл mclmcrrt710.dll и в самом матлабе тоже
ладно, фиг с ним, хорошо, что оно вообще скомпилировалось без проблем
0
454 / 280 / 13
Регистрация: 13.11.2012
Сообщений: 588
Записей в блоге: 1
02.07.2013, 16:07  [ТС] 10
Странный косяк...надо бы, чтобы ещё кто-нибудь попробовал...
0
461 / 451 / 56
Регистрация: 28.05.2013
Сообщений: 699
02.07.2013, 16:59 11
Я откомпилировал и запустил получившийся файл Proga.exe без каких-либо проблем. Правда MCR я в проект не добавлял и не устанавливал, так как уже был установлен.
1
454 / 280 / 13
Регистрация: 13.11.2012
Сообщений: 588
Записей в блоге: 1
02.07.2013, 17:07  [ТС] 12
Цитата Сообщение от tvoretsmira Посмотреть сообщение
Я откомпилировал и запустил получившийся файл Proga.exe без каких-либо проблем. Правда MCR я в проект не добавлял и не устанавливал, так как уже был установлен.
Отлично! Значит проблема у Зосимы локальные и связаны с MCR vs Matlab
0
5242 / 3570 / 379
Регистрация: 02.04.2012
Сообщений: 6,473
Записей в блоге: 17
02.07.2013, 18:01 13
Цитата Сообщение от lomt Посмотреть сообщение
Значит проблема у Зосимы локальные и связаны с MCR vs Matlab
та я тоже так думаю пока оно на практике мне не нужно, разруливать эту ошибку не обязательно.
0
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 19
02.07.2013, 23:34 14
Я наверно что то не то делаю
Пишет вот что:
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
0
461 / 451 / 56
Регистрация: 28.05.2013
Сообщений: 699
03.07.2013, 00:17 15
Эта программа, которую lomt привёл, такое выдаёт? На каком этапе такое появляется?
0
0 / 0 / 0
Регистрация: 16.06.2013
Сообщений: 19
03.07.2013, 08:05 16
не, эт моя такое выдает, на этапе работы функции mcc. У меня несколько форм, оформленных на GUIDE, собранных в отдельную папку (файлы .fig и .m), в качестве главной функции указываю m-файл главной формы. Остальные функции и формы, лежащие в основном каталоге и нескольких каталогах, указываю как подчиненные. Усё, нажимаю build, процесс пошёл. Но после компиляции нескольких функций, выдает ошибку.
0
461 / 451 / 56
Регистрация: 28.05.2013
Сообщений: 699
03.07.2013, 10:31 17
Возможно эта проблема: http://www.mathworks.com/suppo... 2520%25209
Возможно проблема с наличием пробелов в путях к файлам или в самих файлах. Тяжело сказать не имея исходников.
0
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
03.07.2013, 10:59 18
Ребят, а может кто то скинуть скомпиленный ЕХЕ-шник. А то матлаба нету.
0
454 / 280 / 13
Регистрация: 13.11.2012
Сообщений: 588
Записей в блоге: 1
03.07.2013, 11:39  [ТС] 19
Вот экзешник с моей прогай
Вложения
Тип файла: rar Proga.rar (110.5 Кб, 253 просмотров)
1
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
03.07.2013, 12:27 20
Хм... Пишет "Программа не запускается". И все тут(
0
03.07.2013, 12:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.07.2013, 12:27
Помогаю со студенческими работами здесь

Создание exe файла
Не знаю в эту тему или нет , но написано на Вин Апи , при преобразовании проекта в ехе фаил с...

Создание .exe файла
Здравствуйте, у меня в программе постоянно идёт работа с json файлами, которые находятся в папках...

Создание exe файла
Может это конечно из области фантастики) но хочу сделать из базы данных с расширением .accdb .exe...

Создание exe файла
Подскажите какую то статтю, где описано создание exe файла для Unity. Зарание спасибо.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Закрытая тема Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru