реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> MATLAB to EXE-file
Herz
сообщение Apr 8 2012, 21:20
Сообщение #1


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Мне необходимо скомпилировать проект, написанный в MATLAB, в исполняемый файл, который можно было бы запускать на любом компьютере без инсталляции пакета. Знаю, что такая возможность есть. У MATLAB отличный хелп и я уверен, что со временем разберусь, но пока хотелось бы услышать тех, кто это делал.
Насколько это сложная процедура? Требуется ли глубокое знание С? Нужен ли внешний компилятор? Какова последовательность действий?
Go to the top of the page
 
+Quote Post
shf_05
сообщение Apr 9 2012, 02:41
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



mplab не матлаб?
Go to the top of the page
 
+Quote Post
Herz
сообщение Apr 9 2012, 07:19
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(shf_05 @ Apr 9 2012, 05:41) *
mplab не матлаб?

Матлаб, конечно. Заработался... biggrin.gif Исправил.
Go to the top of the page
 
+Quote Post
Realking
сообщение Apr 9 2012, 07:29
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 498
Регистрация: 4-10-04
Из: Нижний Новгород
Пользователь №: 771



Цитата(Herz @ Apr 9 2012, 01:20) *
Мне необходимо скомпилировать проект, написанный в MATLAB, в исполняемый файл, который можно было бы запускать на любом компьютере без инсталляции пакета. Знаю, что такая возможность есть. У MATLAB отличный хелп и я уверен, что со временем разберусь, но пока хотелось бы услышать тех, кто это делал.
Насколько это сложная процедура? Требуется ли глубокое знание С? Нужен ли внешний компилятор? Какова последовательность действий?


Внешний компилятор нужен.
Но у меня без инсталяции пакета (MCRInstaller.exe) запустить не получилось


--------------------
Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается.
Go to the top of the page
 
+Quote Post
shf_05
сообщение Apr 9 2012, 08:27
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



ну вот написал вам про матлаб, стер сообщение...
ситуация такая- к матлабу необходим компилятор от borlad, microsoft или др.
настраиваете в матлабе пути к компилятору
делаете свой м файл как функцию, далее передаете матлабу эту функцию как вход, на выходе получаете exe файл.

примечание- некоторые функции из toolbox-ов матлаба не компилируются из лиценз. соглашениям.

однако! - если откомпилировать м файл с этими тулбоксами и потом поставить на клиентский ПК матлаб (не пакет его библиотек), то работать будет без запуска матлаба.

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

знание С не нужно.

в гугле тема быстро раскрывается
http://technologyinterface.nmsu.edu/5_1/5_1f/5_1f.html

пол дня мытарств и можно сделать первый раз.
Go to the top of the page
 
+Quote Post
Herz
сообщение Apr 9 2012, 08:40
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Спасибо.

Цитата(Realking @ Apr 9 2012, 10:29) *
Внешний компилятор нужен.

У меня установлен R2011b. Вроде установлен и компилятор. Во всяком случае, существует директорий:
Цитата
C:\Program Files\MATLAB\R2011b\toolbox\compiler\mcr\compiler

а в Readme.txt из пакета установки в разделе 1. R2011b Product and Platform List указано, что пакет включает, среди прочего, и компилятор, насколько я понимаю:
Цитата
...
MATLAB Compiler 4.16 - glnx86 glnxa64 maci64 win32 win64
...

Значит ли это, что внешний не нужен? Ибо здесь вроде речь идёт о том же, только свежее...
Ещё раз спасибо за ссылки.

Go to the top of the page
 
+Quote Post
shf_05
сообщение Apr 9 2012, 08:56
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



да в новом матлабе наверно не нужен, я пользовался 2003 вроде.

вот делюсь чем пользовался сам
"Создание Windows-приложений с использованием математических процедур MATLAB.pdf"
Создание автономного C-приложения matlab
Прикрепленные файлы
Прикрепленный файл  matlab.7z ( 3.21 мегабайт ) Кол-во скачиваний: 82
 
Go to the top of the page
 
+Quote Post
Herz
сообщение Apr 9 2012, 10:18
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Солидно, спасибо. Есть что почитать. sm.gif
Go to the top of the page
 
+Quote Post
Herz
сообщение Apr 9 2012, 20:26
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Что-то странное. Используя deploytool, успешно создаю с помощью встроенного компилятора lcc исполняемый exe-файл. Пробовал варианты и Windows standalone application, и Console application (разница невелика). MATLAB Compiler Runtime установил. Так вот, если запускать приложение где-либо вне директории установки MCR, попросту получаю сообщение:
Прикрепленное изображение


Ну ладно, не находит - не надо.
Но если внутри - Windows приносит мне извинения, что программа будет закрыта вследствие ошибки и предлагает послать отчёт на деревню Биллу Гейтсу. На этом - финиш.
Уже вроде всё перепробовал... crying.gif
Go to the top of the page
 
+Quote Post
shf_05
сообщение Apr 10 2012, 03:51
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



кстати виндоус не 7-ка?
создайте и откомпилируйте для начала м файл типа
a= 2;
b=3;
c= a+b
или из примера получится нет?
Go to the top of the page
 
+Quote Post
Herz
сообщение Apr 10 2012, 07:33
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Нет, Win XP.
И даже в таких элементарных случаях результат аналогичный.

Собственно, непонятно, какова на самом деле должна быть реакция. Для Windows a, b и c - некоторые необъявленные переменные. Неизвестно где находящиеся. Вывод тоже не предусмотрен...
Я бы тоже не понял, чего от меня хотят. biggrin.gif
Go to the top of the page
 
+Quote Post
shf_05
сообщение Apr 10 2012, 08:00
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



Цитата(Herz @ Apr 10 2012, 13:33) *
Я бы тоже не понял, чего от меня хотят. biggrin.gif

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

попробуйте скомпилировать в папку matlab\work\имя_вашей_программы
Go to the top of the page
 
+Quote Post
Herz
сообщение Apr 10 2012, 08:38
Сообщение #13


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(shf_05 @ Apr 10 2012, 11:00) *
собственно как ввод так и вывод в проге может отсутствовать, а если предлагается к билу гейтсу, то скорее всего это уже программа неправильно работеат- обращается в ненужное место или что-нибудь типа того.

попробуйте скомпилировать в папку matlab\work\имя_вашей_программы

Да, я тоже так думаю. Отсюда подозрение, что нужно как-то задавать адресацию, чтобы не было обращений в пустоту или защищённую область.
У меня рабочая папка: My Documents\MATLAB, сама программа установлена в C:\Program Files\MATLAB\R2011b, MCR - здесь: C:\Program Files\MATLAB\MATLAB Compiler Runtime\v716. И только в последнем из этих мест ехе-файл хоть пытается запуститься. Папки work у меня нигде нет. Что Вы имели в виду?
Go to the top of the page
 
+Quote Post
shf_05
сообщение Apr 10 2012, 14:01
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 143
Регистрация: 22-04-08
Из: г. Екатеринбург
Пользователь №: 36 992



в предыдущих версиях матлаба work была рабочей папкой матлаба по умолчанию, всегда в нее все делал...
про адресацию - я никаких особых свойств в м файле не задавал, если такая ошибка- скорее всего сам компилер что-то напутал.
есть у вас возможность применить сторонний компилятор?, вроде бы бесплатный от микрософта подходить должен...
Go to the top of the page
 
+Quote Post
Herz
сообщение Apr 10 2012, 16:39
Сообщение #15


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Я рассудил так, что если исполняемый файл создаётся и ошибок при этом не обнаруживается, то с компилятором всё более-менее в порядке. Была, конечно, мысль поменять.
Сечас получил подтверждение: перенёс упакованный проект (с инсталлятором MCR) на ноут, где нет MATLABа, распаковал, запустил - работает.
Причём программка и MCR при этом - в разных папках.
Снёс на основном весь MATLAB, попробовал проделать аналогичное - ни в какую, ровно те же проблемы. Решил, что не в матлабе дело, давно на ОС грешил - пришло время переустановить, видимо. Эх, не хотелось...
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th July 2025 - 03:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01469 секунд с 7
ELECTRONIX ©2004-2016