《matlab gui 生成独立可执行的程序.docx》由会员分享,可在线阅读,更多相关《matlab gui 生成独立可执行的程序.docx(7页珍藏版)》请在优知文库上搜索。
1、变将用MaUab语言占n的函数文件幅卅成可独之执行的.cc攵件网可脱离Matalab环境的执行程序),行先要安装和配置好MaUabCompiler.一般来说.在安装MatIab时就己经安装了相应皈木的MatlabCompiler.只是不同Ifi本的Matlab.其IeiMi的运用方法仃价定的奥舜.达点耍引起肖定的例意.在确定安装MMauabCompilerhi,还很要对ComPilCr进行适当的配?1.方法是在MaUab吩用窗r1输入Mbuiid-setup然后依据提示执行相应的探作,运用拧可依据自己计肾机中现行编件罂的状况选抒合适的货件器,如VC-+6.0、VC+7.0、BlandC的呜田等
2、.11前MaHab好象还不支特VC+8.0(我计口机安装的就是VC-+2005.MatIab就无法识别).T憎.假如你的计算机上根本就没仃安装耳他任何象吉的编译Sh也可选和Matiab自帝的1.CC涧泳JS,其实这个输评器对大多SiM户已炒修用了(我就跪选挣的Mattab自击的1.cC城评潴).配H好给详戕E,白然就是时自己编写的M文件进行编译了.将M文件必评为独立可执行文件的i法是:mcc11fn1,mfun2.m其中funl就是烛烧的可执行文件的名称。另外.也可通过采纳吩哨开关oIS定埼i+i终H标文件的幺称.1mcc-mmain.m-omrank_main.it足将编评后的文件指定为mr
3、ank_main.exe.愎年后的生成攵件依据煽济擀的版本不同而不同.详铀的可参阕相关资料.假如要在没仃安装EatIab的法弟机卜执行编译后的程序,门先耍格1MAT1.AB70iMooibox,compter4ieploy.w32中的MCRinStalIerexe安装到读H算机1.7.0以IIiJ的版本是mglistal(x,ee)我次是CMCRlnstalter.ee安装5HvUnline1,win32一这个路径济加到该计升机的坏境变状中.添加的方法是:表由我的电W属性病级环境变杂添加-指定个变VW.然后梅上述路径乂刖到里面就可以了.第三步是将城洋生成的相相关文件拷贝到同一书目下(当然其他的
4、目亦可).第四步是打开MSVosI*作窗口,进入到母译后的exe秘序所在的书目,执行妗译生成的.exe文件即可.尔要说明的一个向魁:假如你的算序还附带行图片(如Version上的图标),Web“面仲Ihelp文档),在编译的时侯可能无法文件一起垢评(因为我没行试过,也没仃看到行关这方Ifil的介绍)达没右关系先在计切机上执行一次你娘诉用生成的独立可执行文件,这时在同一的目下会生成一个以你编诉后的程序名一mcr靖比的文件夹,这时,你只须要把j程序相关的图根和Web页面搭贝到谈文件夹中的MaUabPrOgram卜面的一个-l(-般与用于俄译的文件夹名相同)中即可.其他的方法还盯I以F是Mh孜守乳的
5、方法,没有试验过.”爱好的笊友5以试试)方法-r在.EatlabK的WOrkSPaCe里打CoEtOOI.卢file-openproject将我们从前加好的coTnteSt.cblI:理文件JJ开,I1.COmpOneE-PaCkagecomponent就实现j打包,此时到Comtesvdistrib文件如l!h牛:或的8msst.exe就是打包后的解乐程序,衣击它公那年出些文件,再点击静压出来的InsiaUbal就可以实现安装方法:如何将gui生成cxc?Clffgui.m文件和gui.fig文件1matab的commandfiT中输入ECC-BsglGUI.m2,将上步生成的文件包拈m文件
6、和Ig文件起号到格运行的机88此时仍需matlab所必需的动态连接咋.3,将VmauabPalhsxlevIibMin32nglinstalar.Cxel姆贝列列传运行机8I.4 .在机JK卜先运行mglinstalar.exe.然后选抒解H;H目.珞在指定H口卜邮E缩Hlbin和tooibox两(朽目.其中在binmc32的日下就是数学阵和图彩阵根岛MAT1.AB运行所需的全部动态连接玲,共有37个.可以将送些考入SySmm32,也可以雁故在应用程序书HF,而IodbOX书H则必需与应用程序同书目.5 .大功告成.力法运行moc-BsglGU1.m生成exe文件.把GU1.eXe文件和GU1
7、.cH文件拷贝到目标电IKE然石4:11标也M安戈MCRInStalier.exe.安装完以后.我点JiGUI.exe,它V示:IhiSaPPliCationhasrequestedtheRuntimetoterminatelinanunusualway这个可能是埸型出恬。蜕?Solution:Thesegmentationviolationcanbecausedduetoa8UPlionineithertheprofileofthecurrentuserorby8UPtedWindowsbbrariesinordertodeterminewhichisthecause,tryloggingI
8、nasadifferentusernameandrunMAT1.AB.tfyouareaWetosuccessfullylaunchMAT1.ABunderaCMferentusername:1. 1.ogontothmachine,astheuserthatisrervingtherror.2. Onyourdesktop,dckonStartRun3. Type*regdd*intheOpentextfieldandc*ckOK.thiswillbringupthRegistryEditor4. IntheRegistryEditorexpandthefoowgfolders:HKEY_C
9、URRENT_USERSoftWareMathWofksMatlab5. UndertheMAT1.ABkey.findthefoWerhavingthesamenameastheversionnumberoftheMAT1.ABthattsCrashing;anddeleteit.ThisRegistrykeywillberegeneratedthenexttuneMAT1.ABissta11ed.ClickonthelinkbelowtoviewanimageoftheRegistryEditor,whichshowshowtodtetaregistrykeyforMAT1.AB6.5(R
10、13).AKorfoowngthesesteps,youshouldbeabletolaunchMAT1.ABsccessfu三y.IfMAT1.ABcrashesregardlessoftheuserwhoisloggedin.thecrashmaybecausedbyeruptedsystembbraries-ForWindowsNT,2000,orXP,somecustomershavefoundthatreinstallingWindowsServicePackshaveresolvedthoissue这个是启动6.5时出类似错误的解决方法,你试试7.0可否胜利吧司的软件系统中包含几个
11、数学模型,运用matlab开发的,每次运行程序,都要在客户机上安装mallab,特别麻烦。不只是安装过程麻烦,占用1个多G的空间,运行的Bauab服务也会占用150M内存,资源消耗太厉害了。始终在考虑是不是可以脱离BatIab运行,以前试过matcon,但函数太少,只好放弃了。现在运用的方式是将matIab文件通过吩咐生成动态链接库dll,在VC程序中调用。今日在水木社区BBS上查找VC和MAT1.AB混合编程内存泄漏的帖子,无意中发觉了讲解VC和MAT1.ABR14混合编程新改变的文章。里面讲到了可以脱离matlab独立运行执行程序,是抓紧上网查f一下资料。干脆在客户机上安SM.T1.ABt
12、oolboxcompi1erdeploywi1132书目下的MCRInstaller.exe程序(83M),就可以了.或者通过matIab吩咐生成一个MCRlnStalIer.zip文件,解压缩到客户机上,并将动态链接库书目添加到PATH环境变量中。相比之下还是运行MCRlnStaIIer.exe省事一些,虽然比MCRlnSlaner.zip要大一点。下午试了下果真可以,以后不用为了测试程序而特地找寻安装了InalIab的机器了:面以个线性方租用的求解过出力介绍疝过M:Hmm实观VC对ZatbbW并的调用.正行环境:Win2C,Matliib6.1、Mcxnl.5VisualC-*Minhb运
13、行环境中*。理序Zuab点,IXTN3mIJl佐卜的m图标,通舞佻。过的MiHUbf件Nggmm出行转化仪如C刊的转化信恩提示没町忸识就可以视察刊此时在FHCViCW标笠中多fnHIC-CMcrwtcdfr三m41M,Mwixhh)等文件.片I1.波工祝下源E了calkwh7uMinp“glkm.tmk凶Uabd11uinI门解坎性方程.级,*/inhMMATCOM_VR$IoN1:初的化nud4lMmaK;二运M也为美MM构选矩丙Hhx.a-(BR(I),2,3cmi.4.6.Mrni.7.8.1K/册知阵i税n:的一个出册于定义个矩阵的笈先,Sam站挥的”个冬H阳f分隔不同行的婚内元案b=
14、a3K”的的化矩再b为零融薛3行1列b(l.l)-37:W2.1)-85:b-69;给越洋b班外X=+ioncdn:调用转化的浜敷.求道畿性为界世的解for(ti=I;i三XJWiraO:i)“把解加阵X的元*城东阳来(Sr(inij-1j!年运行后料果为KlJ)=JjOOOOOOx(2,h=$.000000MlO=SjOOOOOO与实力结果If.总玷,网却於襄”检的.m文仆不是个函数,只是感MMI沛吩咐的%仁4要在:双例IF找到“接义片的.卬PZtl.M乂中的C代码见到须要*用它的曲敛里面.Mirtefn克服了11c吩啾只能一译一个制立.m文件例献出.所笫漳的JnI依季吁其他m女件时,只要杷被调用的m文件?蜘8烽的m文件放在同图