1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Matlab的GUI程序转换为单独可执行的exe文件

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

时间:2020-07-26 03:21:06

相关推荐

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

/support/compilers/Ra/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\Ra\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\Ra\sys\lcc

Are these correct [y]/n? y

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

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

Done . . .

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

在matlab里输入“mcc –m filaname”(中间都间隔空格,后的版本)。“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文件名)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。