您的位置:首页 > 编程语言 > MATLAB

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

2017-08-11 10:56 525 查看

一、生成独立可执行的.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文件名)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  matlab gui exe