(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”文件。
上面步骤(3)中的MCR是由matlab的运行环境,占用不到300M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。MCR环境的设置文件存放目录如下:
文件名为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文件名)