MATLAB生成可执行文件.docx

上传人:b****4 文档编号:5368851 上传时间:2023-05-08 格式:DOCX 页数:9 大小:20.12KB
下载 相关 举报
MATLAB生成可执行文件.docx_第1页
第1页 / 共9页
MATLAB生成可执行文件.docx_第2页
第2页 / 共9页
MATLAB生成可执行文件.docx_第3页
第3页 / 共9页
MATLAB生成可执行文件.docx_第4页
第4页 / 共9页
MATLAB生成可执行文件.docx_第5页
第5页 / 共9页
MATLAB生成可执行文件.docx_第6页
第6页 / 共9页
MATLAB生成可执行文件.docx_第7页
第7页 / 共9页
MATLAB生成可执行文件.docx_第8页
第8页 / 共9页
MATLAB生成可执行文件.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

MATLAB生成可执行文件.docx

《MATLAB生成可执行文件.docx》由会员分享,可在线阅读,更多相关《MATLAB生成可执行文件.docx(9页珍藏版)》请在冰点文库上搜索。

MATLAB生成可执行文件.docx

MATLAB生成可执行文件

MATLAB生成可执行文件(.exe文件)

2010-07-2814:

59:

25|  分类:

matlab学习

要将用Matlab语言编写的函数文件编译成可独立执行的*.exe文件(即可脱离Matalab环境的执行程序),首先要安装和配置好MatlabCompiler,一般来说,在安装Matlab时就已经安装了相应版本的MatlabCompiler。

只是不同版本的Matlab,其编译器的使用方法有一定的差异,这一点要引起一定的注意。

在确定安装好MatlabCompiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入:

Mbuild–setup

然后根据提示执行相应的操作,使用者可根据自己计算机中现有编译器的情况选择合适的编译器,如VC++6.0、VC++7.0、BlandC的编译器等,目前Matlab好象还不支持VC++8.0(我计算机安装的就是VC++2005,Matlab就无法识别)。

当然,如果你的计算机里根本就没有安装其他任何语言的编译器,也可选择Matlab自带的Lcc编译器,其实这个编译器对大多数用户已经够用了(我就是选择的Matlab自带的Lcc编译器)。

配置好编译器后,自然就是对自己编写的M文件进行编译了。

将M文件编译为独立可执行文件的语法是:

>>mcc–mfun1.mfun2.m…..

其中fun1就是最后的可执行文件的名称。

另外,也可通过采用命令开关-o指定编译最终目标文件的名称,如mcc–mmain.m–omrank_main,就是将编译后的文件指定为mrank_main.exe。

编译后的生成文件根据编译器的版本不同而不同。

具体的可参阅相关资料。

如果要在没有安装matlab的计算机上执行编译后的程序,首先要将MATLAB701toolboxcompilerdeploywin32中的MCRinstaller.exe安装到该计算机上(7.0以前的版本是mglinstaller.exe)。

其次是要将“MCRinstaller.exe安装目录runtimewin32”这个路径添加到该计算机的环境变量中,添加的方法是:

右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将上述路径复制到里面就可以了。

第三步是将编译生成的相相关文件拷贝到同一目录下(当然其他目录亦可)。

第四步是打开MS-dos操作窗口,进入到编译后的*.exe程序所在的目录,执行编译生成的*.exe文件即可。

需要说明的一个问题:

如果你的程序还附带有图片(如Version上的图标)、Web页面(如help文档),在编译的时候可能无法与M文件一起编译(因为我没有试过,也没有看到有关这方面的介绍),这没有关系,先在计算机上执行一次你编译后生成的独立可执行文件,这时在同一目录下会生成一个以你编译后的程序名+_mcr结尾的文件夹,这时,你只需要把与程序相关的图标和Web页面拷贝到该文件夹中的Matlabprogram下面的一个子目录(一般与用于编译的文件夹名相同)中即可。

其他的方法还有:

(以下是网上搜索到的方法,没有试验过,有兴趣的朋友可以试一试)

方法

方法二:

如何将gui生成exe?

已有gui.m文件和gui.fig文件

1在matlab的command窗口中输入

mcc-BsglGUI.m

2.将上步生成的文件包括*.m文件和*.fig文件一起考到待运行的机器

此时仍需matlab所必需的动态连接库。

3.将/extern/lib/win32/mglinstallar.exel拷贝到到待运行机器上

4.在机器上先运行mglinstallar.exe,然后选择解压目录,将在指定目录下解压缩出bin和toolbox两子目录,其中在binwin32目录下就是数学库和图形库脱离MATLAB运行所需的所有动态连接库,共有37个。

可以将这些.dll考入system32,也可以直接放在应用程序目录下。

而toolbox目录则必须与应用程序同一目录。

5.大功告成。

方法三:

运行mcc-BsglGUI.m生成exe文件,把GUI.exe文件和GUI.ctf文件拷贝到目标电脑上,然后在目标电脑上安装MCRInstaller.exe,安装完以后,我点击GUI.exe,它显示:

thisapplicationhasrequestedtheRuntimetoterminateitinanunusualway。

这个可能是哪里出错了呢?

Solution:

ThesegmentationviolationcanbecausedduetoacorruptionineithertheprofileofthecurrentuserorbycorruptedWindowslibraries.Inordertodeterminewhichisthecause,trylogginginasadifferentusernameandrunMATLAB.

IfyouareabletosuccessfullylaunchMATLABunderadifferentusername:

1.Logontothemachine,astheuserthatisreceivingtheerror.

2.Onyourdesktop,clickonStart>Run

3.Type"regedit"intheOpentextfieldandclickOK,thiswillbringuptheRegistryEditor

4.IntheRegistryEditorexpandthefollowingfolders:

HKEY_CURRENT_USER>Software>MathWorks>Matlab

5.UndertheMATLABkey,findthefolderhavingthesamenameastheversionnumberoftheMATLABthatiscrashing;anddeleteit.ThisRegistrykeywillberegeneratedthenexttimeMATLABisstarted.

ClickonthelinkbelowtoviewanimageoftheRegistryEditor,whichshowshowtodeletearegistrykeyforMATLAB6.5(R13).

Afterfollowingthesesteps,youshouldbeabletolaunchMATLABsuccessfully.

IfMATLABcrashesregardlessoftheuserwhoisloggedin,thecrashmaybecausedbycorruptedsystemlibraries.ForWindowsNT,2000,orXP,somecustomershavefoundthatreinstallingWindowsServicePackshaveresolvedtheissue。

 

要生成exe文件有以下几个步骤:

1、首先安装c编译器,如microsoftvisualc++6.0;

2、在matlab命令行里输入mbuild-setup,选择你安装的c编译器(按照提示操作即可);

3、安装MATLAB7/toolbox/compiler/deploy/win32目录下的MCRInstaller;

4、输入mcc-mfilaname1filename2……,filename1和filename2为要转成exe的m文件。

 

我也是最近才搞定的这个问题,按下述步骤进行,就没有问题,我已经运行成功,但是遇到你程序的bug的话,便会出现错误,关闭整个程序

希望这些对你有用

如何将MATLAB程序编译成独立可执行的程序?

如何将编译好的独立可执行程序发布在没有安装MATLAB的电脑上?

下面将一步步实现:

一、生成独立可执行的程序(exe文件)步骤

1、安装编译器。

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

2、设置编译器。

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

3、调用编译器。

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

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

具体使用方法请Help。

当然,也可以输入mcc-mfilaname,filaname为要转成exe的m文件;

注:

在以前的版本中,用编译命令mcc-Bsglcppfilaname;自2006的版本后,替换为mcc-mfilaname;

4、安装\toolbox\compiler\deploy\win32目录下的MCRInstaller。

二、脱离matlab运行可执行程序

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

MCR环境的设置文件存放目录如下:

\toolbox\compiler\deploy\win32

文件名为MCRInstaller.exe。

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

在MATLAB里运行可执行程序的办法是在前面加一个!

,比如:

!

picshow,后缀名可有可无。

在其它没有安装matlab的机器上运行exe文件前:

首先安装matlab的运行环境。

在同一机器上可以并存不同版本的matlab环境(换句话说不同版本不兼容)。

其次是要将“MCRinstaller.exe安装目录\runtime\win32”这个路径添加到该计算机的环境变量中,通常是自动加载。

如果没有,也可手动安装,添加的方法是:

右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将上述路径复制到里面就可以了。

注:

在安装过程中会弹出让安装Microsoft.NETFramework可以不用安装。

最后就是将编译生成的相相关文件拷贝到同一目录下,双击即可运行。

问题:

目前此方法可完全运行在没有安装MATLAB以及C/C++的电脑上,但是如果是在AMD的CPU可以运行,但是不会出现任何MATLAB编译的界面。

美中不足就是,运行的时候dos的那个黑色地窗口一直存在。

下面将实现去除黑屏的办法:

消除运行MATLAB生成的exe程序的dos黑屏的办法

基于MATLAB生成exe文件后,每次运行都存在dos黑屏的问题,现在可以通过以下方法解决:

方法一:

在命令窗口输入:

cd(prefdir)

editcompopts.bat

在打开的文件最后添加以下语句:

A.VC环境下:

setLINKFLAGS=%LINKFLAGS%/SUBSYSTEM:

WINDOWS/ENTRY:

mainCRTStartup

B.LCC环境下:

setLINKFLAGS=%LINKFLAGS%-subsystemwindows

C.Borland:

setLINKFLAGS=%LINKFLAGS%-aa

 

保存以后,再重新编译m文件,生成的exe文件运行起来就没有dos窗口了。

方法二:

使用suppress工具:

下载附件中的suppress压缩包后解压,(当然您可以自己去Google然后再下载)会看到一个suppress.ini文件,用记事本打开,然后将其中“Name=test.exe”中text.exe的改为你生成的exe文件名。

将suppress.exe(有个关盘和显示器的图标),改后的suppress.ini放到你生成的exe的同目录下。

执行suppress.exe或者您自己生成的exe可以了。

当然您可以自己修改suppress.exe的名字,改为您自己想要的名字。

其中的方法一在使用后生成的exe再到没有任何安装MATLAB的机子上运行也不会有黑屏了。

方法二的缺点就是要同时存在您生成的exe以及supress.exe,必须在同一目录下。

 

生成matlab gui exe文件的方法

 

1、在matlab的command窗口输入命令:

   mcc -B sgl Processing_Img.m,其中Processing_Img.m为gui 的.m文件。

2、将第一步制作产生的Processing_Img.exe文件、Processing_Img.prj文件,以及MCRInstaller.exe文件拷贝到同一文件夹下,  MCRInstaller.exe在

\\MATLAB\R2009a\toolbox\compiler\deploy\win32下面。

3、在要允许Processing_Img.exe的机子上运行MCRInstaller.exe,并安装在同一文件夹下,耐心

等待即可,然后运行Processing_Img.exe便OK.

总结了好久终于将matlab的编译过程找全了,给各位参考!

完整gui程序设计与发布

matlabGUI程序转换成exe可执行文件

1.设置编译器:

在确定安装好MatlabCompiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入:

mbuild–setup,按提示选择matlab自带编译器LCC。

2.将脚本编译为可执行文件:

在此路径下命令行输入:

mcc–mgui.m,

gui.exe为脱离matlab环境运行必需的文件。

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

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

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

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

至此完成。

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

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

matlba命令行输入:

cd(prefdir)

editcompopts.bat

此时compopts.bat打开,在文件最后添加:

setLINKFLAGS=%LINKFLAGS%-subsystemwindows

 

 

GUI生成的exe文件怎么去掉左上的图标?

javaFrame=get(hObject,'JavaFrame');

javaFrame.setFigureIcon(javax.swing.ImageIcon('你要换的图像.jpg')

加在OpeningFcn内。

 

Matlab时如何让exe文件带上自己想要的图标

假设你的图标文件是:

DA.ico;你想编译的m文件是:

data.m

第一步:

创建一个文本文件,里面写入"ConAppICONDA.ico"

第二步:

把刚才的文本文件重命名为一个rc文件,如DA.rc

第三步:

在matlab命令窗口中键入:

system(['"'matlabroot'\sys\lcc\bin\lrc"/i"'pwd'\DA.rc"']);

这一步是把DA.rc和DA.ico编译到一起

此时在你的当前工作目录下会生成一个名为DA.res的resourcefile

第四步:

将m文件与res文件一起编译

mcc-mdata.m-MDA.res

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2