MATLAB生成exe脱离matlab运行可执行程序

      

如何将MATLAB程序编译成独立可执行的程序?如何将编译好的独立可执行程序发布在没有安装MATLAB的电脑上?下面将一步步实现:

 

一、生成独立可执行的程序(exe文件)步骤


1、安装编译器。可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我基于VS2010实现。

2、设置编译器。

在matlab命令行输入mbuild  –setup以及mex –setup,选择安装的c编译器(可能会选1也可能选0,这个要看你显示的是什么)。选择y  一直到done

3、调用编译器。

当然,也可以输入mcc -m filaname, filaname为要转成exe的m文件,例如你的名字是im.m文件,那么fileaname就用im替换

 

二、脱离matlab运行可执行程序(换一个电脑运行exe)


     MCR是由matlab的运行环境,占用不到300M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。MCR环境的设置文件存放目录如下:

<matlab path>\toolbox\compiler\deploy\win64

文件名为MCRInstaller.exe。

步骤:

(一)先把这个安装在新电脑上

(二)然后配置环境

右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将上述路径复制到里面就可以了。

 

三、运行exe,黑屏一闪


     美中不足就是,运行的时候dos的那个黑色地窗口一直存在。下面将实现去除黑屏的办法:

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

基于MATLAB生成exe文件后,每次运行都存在dos黑屏的问题,现在可以通过以下方法解决:

方法: 在命令窗口输入:

cd(prefdir)

edit compopts.bat

在打开的文件最后添加以下语句(添加哪个要看你的电脑):

A.VC环境下(我的是添加这个因为是vs2010):

set LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS/ENTRY:mainCRTStartup

B.LCC环境下:

set LINKFLAGS=%LINKFLAGS% -subsystemwindows

C. Borland:

set LINKFLAGS=%LINKFLAGS% -aa

保存以后,再重新编译m文件,生成的exe文件运行起来就没有dos窗口了

这个方法在使用后生成的exe再到没有任何安装MATLAB的机子上运行也不会有黑屏了。

 

你可能感兴趣的:(MATLAB生成exe脱离matlab运行可执行程序)