如何将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的机子上运行也不会有黑屏了。