Matlab的GUI程序转换为单独可执行的exe文件

一、生成独立可执行的.exe文件

(1)    第一步,设置编译器,可选自带的LCC,或其他比如VC6.0等编译器

matlab里输入“mbuild -setup”:

Welcome to mbuild -setup. This utility will help you set up 

a default compiler. For alist of supported compilers, see 

http://www.mathworks.com/support/compilers/R2011a/win32.html

Please choose your compiler for building standalone MATLABapplications:

Would you like mbuild to locate installed compilers [y]/n? y

Select a compiler:

[1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2011a\sys\lcc

[2] Microsoft Visual C++ 6.0 in C:\Program Files\Microsoft VisualStudio

[0] None

Compiler: 1

Please verify your choices:

Compiler: Lcc-win32 C 2.4.1

Location: C:\PROGRA~1\MATLAB\R2011a\sys\lcc

Are these correct [y]/n? y

Trying to update options file:C:\Users\yangx_000\AppData\Roaming\MathWorks\MATLAB\R2011a\compopts.bat

From template:             C:\PROGRA~1\MATLAB\R2011a\bin\win32\mbuildopts\lcccompp.bat

 Done . . .

(2)    第二步,调用编译器:

matlab里输入“mcc –m filaname(中间都间隔空格,2006后的版本)。“filaname”为需要编译的“.m”文件

等待编译完成…,分别会在当前目录下生成了“.exe,readme.txt,mccExcludeFiles.log”三个文件。

(3)    第三步,安装MCRInstaller.exe

安装matlab路径下的“\toolbox\compiler\deploy\win32\MCRInstaller.exe文件。

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

上面步骤(3)中的MCR是由matlab的运行环境,占用不到300M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。MCR环境的设置文件存放目录如下:
<matlab path> \toolbox\compiler\deploy\win32\ MCRInstaller.exe
   文件名为MCRInstaller.exe。可将其拷贝到自己的文件夹中,(7.0以前的版本是mglinstaller.exe)

最后将生成的编译文件和编译器打包在一个文件夹里,如下所示:


在无matlab的电脑上运行时先安装“MCRInstaller.exe”,然后直接打开“FOGReader.exe”即可运行。

三、去除运行时的黑色提示框

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

基于MATLAB生成exe文件后,每次运行都存在dos黑屏的问题,现在可以通过以下方法解决:
方法一:在命令窗口输入:
cd(prefdir)
edit compopts.bat
在打开的文件最后添加以下语句:
A.VC环境下:
set LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup
B.LCC环境下:
set LINKFLAGS=%LINKFLAGS% -subsystem windows

C. Borland:
set LINKFLAGS=%LINKFLAGS% -aa
保存以后,再重新编译m文件,生成的exe文件运行起来就没有dos窗口了

若以上方法依旧无法去除黑色的dos窗口,则可以采用下面指令生成exe文件:mcc-e mfilename(mfilename.m文件名)

猜你喜欢

转载自blog.csdn.net/u014527548/article/details/77092991