MATLAB生成可执行文件文档格式.docx
- 文档编号:18292229
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:6
- 大小:19.33KB
MATLAB生成可执行文件文档格式.docx
《MATLAB生成可执行文件文档格式.docx》由会员分享,可在线阅读,更多相关《MATLAB生成可执行文件文档格式.docx(6页珍藏版)》请在冰豆网上搜索。
编译后的生成文件按照编译器的版本不同而不同。
具体的可参阅相关资料。
若是要在没有安装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.将<
matlabpath>
/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文件有以下几个步骤:
一、首先安装c编译器,如microsoftvisualc++6.0;
二、在matlab命令行里输入mbuild-setup,选择你安装的c编译器(依照提示操作即可);
3、安装MATLAB7/toolbox/compiler/deploy/win32目录下的MCRInstaller;
4、输入mcc-mfilaname1filename2……,filename1和filename2为要转成exe的m文件。
我也是最近才弄定的这个问题,按下述步骤进行,就没有问题,我已经运行成功,可是碰到你程序的bug的话,便会出现错误,关闭整个程序
希望这些对你有效
如何将MATLAB程序编译成独立可执行的程序?
如何将编译好的独立可执行程序发布在没有安装MATLAB的电脑上?
下面将一步步实现:
一、生成独立可执行的程序(exe文件)步骤
一、安装编译器。
可有多种选择,matlab自带了一个LCC,推荐利用VC++6.0,我基于VS2021实现。
二、设置编译器。
在matlab命令行输入mbuild–setup和mex–setup,选择安装的c编译器。
3、挪用编译器。
此处利用MATLAB下的一个GUI平台deploytool下完全实现。
在命令窗口输入deploytool即可看到。
具体利用方式请Help。
固然,也可以输入mcc-mfilaname,filaname为要转成exe的m文件;
注:
在以前的版本中,用编译命令mcc-Bsglcppfilaname;
自2021的版本后,替换为mcc-mfilaname;
4、安装<
matlabpath>
\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文件的方式
一、在matlab的command窗口输入命令:
mcc
-B
sgl
Processing_Img.m,其中Processing_Img.m为gui
的.m文件。
二、将第一步制作产生的Processing_Img.exe文件、Processing_Img.prj文件,和MCRInstaller.exe文件拷贝到同一文件夹下,
MCRInstaller.exe在
\\MATLAB\R2021a\toolbox\compiler\deploy\win32下面。
3、在要允许Processing_Img.exe的机子上运行MCRInstaller.exe,并安装在同一文件夹下,耐心
等待即可,然后运行Processing_Img.exe便OK.
总结了好久终于将matlab的编译进程找全了,给列位参考!
完整gui程序设计与发布
matlabGUI程序转换成exe可执行文件
1.设置编译器:
mbuild–setup,按提示选择matlab自带编译器LCC。
2.将脚本编译为可执行文件:
在此路径下命令行输入:
mcc–mgui.m,
gui.exe为离开matlab环境运行必需的文件。
3.在未安装matlab的机械上运行可执行程序。
将R22021b\toolbox\compiler\deploy\win32中的MCRinstaller.exe安装到该计算机上,将生成可执行程序离开matlab运行所需的函数库。
将2中生成的gui.ctf,gui.exe拷贝到该计算机同一路径。
运行gui.exe将生成gui_mcr文件夹,包括程序运行所需的库。
至此完成。
去除独立可执行程序运行时的“DOS黑窗口”。
以上生成的exe程序运行时首先弹出一个DOS界面窗口,若是不需要其输出数据和错误信息,可将其去除。
matlba命令行输入:
cd(prefdir)
此时compopts.bat打开,在文件最后添加:
setLINKFLAGS=%LINKFLAGS%-subsystemwindows
GUI生成的exe文件怎么去掉左上的图标?
javaFrame=get(hObject,'
JavaFrame'
);
javaFrame.setFigureIcon(
加在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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB 生成 可执行文件
![提示](https://static.bdocx.com/images/bang_tan.gif)