MATLAB程序封装成EXE文件

合集下载

MATLAB程序封装成EXE文件

MATLAB程序封装成EXE文件

MATLAB程序封装成EXE文件1.设置编译器:首先需要配置自己的Matlab Compiler,Matlab Compiler的作用是将程序编译成为机器可以直接执行的程序。

配置Compiler的方法是在Matlab命令窗口输入:mbuild -setup,按提示选择matlab自带编译器LCC。

实验记录:>> mbuild -setup[1] Lcc-win32 C2.4.1 in D:\PROGRA~1\MATLAB\R2007a\sys\lcc[2] Microsoft Visual C++6.0 in C:\Program Files\Microsoft Visual Studio[0] NoneCompiler:1Please verify your choices:Compiler:Lcc-win32 C2.4.1Location:D:\PROGRA~1\MATLAB\R2007a\sys\lccAre these correct?([y]/n):yTryingtoupdateoptionsfile:From template:Done . . .-->"D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwregsvrD:DllRegisterServer in D:-->"D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwregsvrD:DllRegisterServer in D:>>说明:因为我的机器上原来装有Microsoft Visual C++6.0,所以会有两个编译器,会提示你选择一个,这里选择系统自带的,也就是“1”。

2、编译已经写好的m文件说明:mywavelet.m是我写的测试文件,内容如下:function mywaveletclear all;a=[100:900];b=sqrt(a);plot(a,b);在matlab环境中编译文件,方法是:mcc-m mywavelet。

利用Matlab自带工具箱生成Dll和EXE文件

利用Matlab自带工具箱生成Dll和EXE文件

利用Matlab自带工具箱生成Dll和EXE文件想到后期开发需要用到matlab与vb或者其他语言进行编程操作,边想着如何利用matlab强大的功能,而又脱离其软件本身进行开发。

利用DLL文件与VB混编进行开发是方法之一。

本以为是一个很简单构建过程,不过还是在不经意间浪费了两天时间。

回顾整个安装过程,主要还是没有对整体进行构建,没有借鉴前人的经验啊。

构建过程中遇到很多问题。

这里简单总结一下安装过程,顺便把Matlab生成dll文件,以及打包生成EXE文件的过程做一下介绍。

我的版本好为:MATLAB R2009a一、生成独立可执行的程序(dll and exe文件)步骤1、安装编译器。

可有多种选择,本机安装的是Microsoft Visual C++ 6.0(必须装);2、设置编译器。

在matlab命令行输入mbuild -setup,选择安装的编译器为Microsoft Visual C++ 6.0;这里需要的注意的是,编译器路径,编译文件路径的选择,我选择的都是与Microsoft Visual C++ 6.0相关的默认文件夹。

在看到Done字样后,开始在Matlab中设置编译参数。

3、输入deploytool命令(其他版本可能为matcom等),出现以下界面:4、设置相关的参数。

这里可以做很多操作,如图所示,最终结果可生成可供VB调用的dll文件。

启动deploytool后将主程序放到main function里,其他子程序放到other files里,如果有c程序,则放到c/c++ files里.加入你想要编译的m文件,(要加入到自己命名的主目录下,如果还有其他非m文件,放到other files里面)按下编译器就可以编译了.编译完成后会,就会在当前目录下生成这两个文件夹distrb src5、编译的最终结果如下图所示.另外,进行打包操作.我选择了Matlab Compiler编译出可直接运行的EXE文件。

matlab程序如何生成可执行文件

matlab程序如何生成可执行文件

matlab程序如何生成可执行文件2010-11-01 15:07一、将matlab编译成可执行程序如何将MATLAB程序编译成独立可执行的程序?如何将编译好的独立可执行程序发布在没有安装MATLAB的电脑上?下面将一步步实现:二、生成独立可执行的程序(exe文件)步骤1、安装编译器。

可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我基于VS 2003实现。

2、设置编译器。

在matlab命令行输入mbuild –setup以及mex –setup,选择安装的c编译器。

3、调用编译器。

此处使用MATLAB下的一个GUI平台deploytool下完全实现。

在命令窗口输入deploytool即可看到。

具体使用方法请Help。

(当然,也可以输入mcc -m filaname, filaname为要转成exe的m文件)注:在以前的版本中,用编译命令mcc -B sglcpp filaname;自2006的版本后,替换为mcc -mfilaname;4、安装<matlab path>\toolbox\compiler\deploy\win32目录下的MCRInstaller。

三、脱离matlab运行可执行程序MCR是由matlab的运行环境,占用不到300M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR 一起打包。

MCR环境的设置文件存放目录如下:<matlab path> \toolbox\compiler\deploy\win32文件名为MCRInstaller.exe。

可将其拷贝到自己的文件夹中,(7.0以前的版本是mglinstaller.exe)。

在MATLAB里运行可执行程序的办法是在前面加一个!,比如:!picshow,后缀名可有可无。

四、在其它没有安装matlab的机器上运行exe文件前:首先安装matlab的运行环境。

2016年度精品--matlabGUI程序转换成exe可执行文件

2016年度精品--matlabGUI程序转换成exe可执行文件

matlab GUI程序转换成exe可执行文件matlab GUI程序转换成exe可执行文件1.设置编译器:在确定安装好Matlab Compiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入:Mbuild –setup,按提示选择matlab自带编译器LCC。

2.将脚本编译为可执行文件:如项目文件包含:gui.m, gui.gif, fun1.m。

在此路径下命令行输入:mcc –m gui.m,生成:mccExcludedFiles.log,ReadMe.txt,gui.ctf,gui.prj,gui_main.c,gui_mcc_component_data.c,gui.exe。

其中:gui.ctf,gui.exe为脱离matlab环境运行必需的文件。

3.在未安装matlab的机器上运行可执行程序。

将R2 2007b\toolbox\compiler\deploy\win32中的MCRinstaller.exe 安装到该计算机上,将生成可执行程序脱离matlab运行所需的函数库。

将2中生成的gui.ctf,gui.exe拷贝到该计算机同一路径。

运行gui.exe 将生成gui_mcr文件夹,包含程序运行所需的库。

至此完成。

4.去除独立可执行程序运行时的“DOS黑窗口”。

以上生成的exe程序运行时首先弹出一个DOS界面窗口,如果不需要其输出数据和错误信息,可将其去除。

matlba命令行输入:cd(prefdir)edit compopts.bat此时compopts.bat打开,在文件最后添加:set LINKFLAGS=%LINKFLAGS% -subsystem windows如果程序比较复杂,易出现异常,则不建议去除这个dos窗口以便调试。

另外,这个办法是适用于你用的编译器为LCC,如果是其他的,那么所加语句有所不同Microsoft Visual C/C++:set LINKFLAGS=%LINKFLAGS% /SUBSYSTEM:WINDOWS/ENTRY:mainCRTStartupBorland:set LINKFLAGS=%LINKFLAGS% -aa5.遇到某些函数不能使用的问题。

Matlab编写地程序生成EXE可执行文件资料地方法

Matlab编写地程序生成EXE可执行文件资料地方法

Matlab生成EXE可执行文件1、M文件生成可执行文件1.1、Run timeserver的配置执行这个命令要在命令提示符下进入%matlab%\toolbox\runtime\bin\win32目录。

输入:rtsetup -f %matlab%\bin\win32\matlab.exe –s **** 。

这儿****代表你输入的N个数字或者字母,它将作为未来开发的应用程序的密码用来识别不同的文件是否出自同一程序。

在正常情况下,执行完这居命令以后,dos不会有任何提示符。

1.2、编写在matlab中运行的程序1.3、编写配置文件把toolbox\runtime\下面的两个模板文件matlabrt_template.m,和pathdefrt_template.m文件修改程自己的 matlabrt.m和 pathdefrt.m文件。

1.4、编译生成p文件把你要编译的源程序放在toolbox\local目录下一个子目录中,然后把这个目录设为matlab的当前目录――一定要保证这一点。

在matlab中输入如下命令:[LOG, DEPFUNOUT, PCODEOUT] = BUILDP({‘matlabrt’});如果出现BUILDP finished but there may be file(s) with either problem symbols or EVAL-like constructs. Check BUILDP log for details. 。

这是很正常的,很多时候都会出现这个提示。

输入:Depfunout{1}把它的内容拷到toolbox\runtime\oem\的list.txt中去(如果没有list.txt则新建).1.5、打包,发布退出matlab,打开命令提示符,到toolbox\runtime\oem下,执行packege。

按照它的提示先后输入matlab的目录,文件列表名称(list.txt),还有应用程序的名称。

Matlab生成.exe可执行程序

Matlab生成.exe可执行程序

Matlab⽣成.exe可执⾏程序
由于在教学过程中需要演⽰Matlab程序,⽽教学机⼜未安装Matlab程序,因此有必要将Matlab程序⽣成.exe可执⾏程序,便于直接执⾏。

在Matlab中提供了Complier,可直接使⽤。

(⼀)什么是MATLAB Compiler?
它能够将你的matlab程序转换为⾃包含(self-contained)的应⽤程序和组件,这样你就可以将程序发放给你的终端⽤户,⽽且终端⽤户⽆需安装
Matlab就可以运⾏这些程序。

Matlab Compiler能够⽣成的应⽤或者组件包括下⾯这⼏类:
1、独⽴的应⽤程序
2、C和C++共享库(动态链接库,在Windows平台上是DLL,在Linux平台下是.so⽂件)
3、Excel插件
4、COM 和.NET对象
(⼆)MATLAB Compiler的构建过程
1、分析依赖关系
2、代码⽣成
3、创建归档⽂件(archive)
4、编译
5、链接
(三)执⾏过程
1、在Matlab的Command窗⼝下,可通过“help mcc”命令查看帮助
2、⽣成可执⾏程序:“mcc -m ××.m”,即可在当前⽬录⽣成××.exe程序
在当前⽬录⽣成可执⾏⽂件:
双击即可运⾏!
3、⽣成动态链接库:“mcc -l ××.m”,即可⽣成动态链接库。

更改matlab生成exe文件的图标

更改matlab生成exe文件的图标

更改matlab生成exe文件的图标更改matlab生成exe文件的图标明天项目答辩,今天又把程序折腾了一遍,最后生成exe文件,上网搜了一下把图标改成了自己选的图形。

在matlab中文论坛上有高手指出如下的做法:假设你的图标文件是:DA.ico;你想编译的m文件是:data.m 第一步:创建一个文本文件,里面写入"ConApp ICON DA.ico"第二步:把刚才的文本文件重命名为一个rc文件,如DA.rc第三步:在matlab命令窗口中键入:system(['"' matlabroot '\sys\lcc\bin\lrc" /i "' pwd '\DA.rc"']);这一步是把DA.rc和DA.ico编译到一起此时在你的当前工作目录下会生成一个名为DA.res的resource file第四步:将m文件与res文件一起编译mcc -m data.m -M DA.res这样生成的exe文件即为DA图标。

这样做是没有错误的,但是会遇到几个问题。

ico文件如何生成?我的做法是直接把jpg格式的图片用photoshop(用其它图片处理小软件都可以)改成了48*48,然后在线提交一下,就可以把生成的下载下来了。

网上说可以直接用VC新建一个资源文件,然后把图片加载到里面,保存一下就可以了,可是我木有试验成功。

新建了资源文件以后不知道怎样把已有的图片加载到里面~好多网站都可以把图片文件改成 ico文件,还是比较方便的。

再一个是生成res文件的时候,输入上面的命令后,matlab一直显示busy,无奈就回车了一下,出现下面的提示:lrc: c:\documents and settings\……\2.rc:1 No newline at end of file 后面还有两行不记得了,再次运行就只出现上面这行。

Matlab将GUI转化为exe文件,并且进行发布

Matlab将GUI转化为exe文件,并且进行发布

Matlab将GUI转化为exe文件,并且进行发布将自己编写的GUI文件转化为exe文件的方式有很多种,具体谈一下利用deploytool进行转化的方法。

首先在命令窗口利用mbuild -setup配置Matlab的一个编译器什么的,按照提示,选择y,然后会让你选择编译器:lcc还是Visual C++,自己选择相应的,具体如下所示:mbuild -setupPlease choose your compiler for building standalone MATLAB applications: Would you like mbuild to locate installed compilers [y]/n? ySelect a compiler:[1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2008a\sys\lcc[2] Microsoft Visual C++ 6.0 in C:\Program Files\Microsoft Visual Studio [0] NoneCompiler: 2Please verify your choices:Compiler: Microsoft Visual C++ 6.0Location: C:\Program Files\Microsoft Visual StudioAre these correct [y]/n? yTrying to update options file:C:\Users\guopanfeng\AppData\Roaming\MathWorks\MATLAB\R2008a\compopts. batFromtemplate: C:\PROGRA~1\MATLAB\R2008a\bin\win32\mbuildopts \msvc60compp.batDone . . .如上所示:我选择的是Visual Studio的编译器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MATLAB程序封装成EXE文件
1.设置编译器:
首先需要配置自己的Matlab Compiler,Matlab Compiler的作用是将程序编译成为机器可以直接执行的程序。

配置Compiler 的方法是在Matlab命令窗口输入:
mbuild -setup,按提示选择matlab自带编译器LCC。

实验记录:
>> mbuild -setup
Please choose your compiler for building standalone MATLAB applications:
Would you like mbuild to locate installed compilers [y]/n? y
Select a compiler:
[1] Lcc-win32 C 2.4.1 in D:\PROGRA~1\MATLAB\R2007a\sys\lcc
[2] Microsoft Visual C++ 6.0 in C:\Program Files\Microsoft Visual Studio
[0] None
Compiler: 1
Please verify your choices:
Compiler: Lcc-win32 C 2.4.1
Location: D:\PROGRA~1\MATLAB\R2007a\sys\lcc
Are these correct?([y]/n): y
Trying to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R2007a\compopts.bat
From template: D:\PROGRA~1\MATLAB\R2007a\bin\win32\mbuildopts\lcccompp.bat
Done . . .
--> "D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwregsvr D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcomutil.dll"
DllRegisterServer in D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcomutil.dll succeeded
--> "D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwregsvr D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcommgr.dll"
DllRegisterServer in D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcommgr.dll succeeded
>>
说明:因为我的机器上原来装有Microsoft Visual C++ 6.0,所以会有两个编译器,会提示你选择一个,这里选择系统自带的,也就是“1”。

2、编译已经写好的m文件
说明:mywavelet.m是我写的测试文件,内容如下:
function mywavelet
clear all;
a=[100:900];
b=sqrt(a);
plot(a,b);
在matlab环境中编译文件,方法是:mcc -m mywavelet。

其中mywavelet为要转成exe的m文件。

执行完毕后,会发现在MATLAB的Current Directory目录下,会出现一些新文件,注意观察^_^。

这些文件就是,编译好的文件。

这时,可以点一下exe文件,看看是否正常,显示图片否?
ok后,将它们拷到一个新文件夹下,保管好啦~
3、寻找所需要的动态链接库
在已安装Matlab机器上,找MCRInstaller.exe的文件,我的是在这个目录下:
D:\Program Files\MATLAB\R2007a\toolbox\compiler\deploy\win32\MCRInstaller.exe
不同的MATLAB版本,可能路径不一样,自己找一下。

(7.0以前的版本是mglinstaller.exe)。

找到后,把它也复制到我们保管好的文件夹中,这样我们的文件家中有两类东西,1、MCR安装程序,2、编译好的程序。

4、将保管好的文件夹移植其他的电脑上
这个电脑最好没有装MATLAB,以检查在没有MATLAB的环境下,可执行程序是否可以执行。

一般是会有问题的,因为还有很多动态链接库没有考过来,程序运行时,会找不到很多东西。

我们需要做的是,双击安装MCRInstaller.exe,安装目录就选我们当前的目录。

确保我们编译好的程序,和安装MCR之后的文件在同一目录下。

结束,点击可执行文件,应该能出现图片。

试试看。

相关文档
最新文档