matlab 生成 exe
一.直接运用命令行方法
1 设置编译器
在Matlab命令窗口输入:
Mbuild –setup
按提示选择编译器。
mex -setup
安装相应的编译器
2 编辑GUI
对GUI进行编辑后,保存自动生成xx.m和xx.fig两个文件;选择GUI窗口中File菜单下的“export”
命令,自动生成xx_export.m文件。
3 可执行程序的生成
在Matlab命令窗口输入:mcc -m xx_export.m,运行后生成exe文件。
4 在未安装matlab的机器上运行可执行程序
首先将MCRinstaller.exe安装到目标计算机上,然后将3中生成的exe程序拷贝到目标机器上即可
运行。
例如R22007b\toolbox\compiler\deploy\win32中的MCRinstaller.exe安装到目标计算机上,将
生成可执行程序脱离matlab运行所需的函数库。
将3中生成的xx.ctf,xx.exe拷贝到该计算机同一路径。运行xx.exe将生成xx_mcr文件夹,包含
程序运行所需的库。
5 去除独立可执行程序运行时的“DOS黑窗口”
以上生成的exe程序运行时首先弹出一个DOS界面窗口,如果不需要其输出数据和错误信息,可将
其去除。
matlba命令行输入:
cd(prefdir)
edit compopts.bat
此时compopts.bat打开,在文件最后添加:
A.VC环境下:set LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup
B.LCC环境下:set LINKFLAGS=%LINKFLAGS% -subsystemwindows
C. Borland: set LINKFLAGS=%LINKFLAGS% -aa
保存以后,再重新编译m文件,生成的exe文件运行起来就没有dos窗口了
二.利用 matlab 自带的 deploytool 插件
将自己编写的 GUI 文件转化为 exe 文件的方式有很多种,具体谈一下利用 deploytool 进行
转化的方法。
首先在命令窗口利用 mbuild -setup 配置 Matlab 的一个编译器什么的,按照提示,选择 y,
然后会让你选择编译器:lcc 还是 Visual C++,自己选择相应的,具体如下所示:
mbuild -setup
Please choose your compiler for building standalone MATLAB applications:
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\R2008a\sys\lcc
[2] Microsoft Visual C++ 6.0 in C:\Program Files\Microsoft Visual Studio
[0] None
Compiler: 2
Please verify your choices:
Compiler: Microsoft Visual C++ 6.0
Location: C:\Program Files\Microsoft Visual Studio
Are these correct [y]/n? y
Trying to update options file:
C:\Users\guopanfeng\AppData\Roaming\MathWorks\MATLAB\R2008a\compopts.bat
From
template:
pts\msvc60compp.bat
Done . . .
C:\PROGRA~1\MATLAB\R2008a\bin\win32\mbuildo
如上所示:我选择的是 Visual Studio 的编译器。
然后就可以利用 deploytool 将 GUi 文件转化为 exe 文件了
在命令窗口输入 deploytool,出现如下所示:
如上图所示:然后在 file 菜单中新建一个 new deployment project 如下所示:
然后选择响应的选项,如我选择如上图的颜色异样的设置,然后在 Browse 中保存自己新建
的 prj。
新建后如下所示:
将主程序放到 main function 里,其他子程序放到 other files 里,如果有 c 程序,则放到
c/c++ files 里
点击 setting 按钮,如下所示:
这里注意不包含 m 及 c 文件的文件夹及里面的文件,如图片,数据,excel 等,都要放在
settings 的 additional files 里,这样的话,打包时就会把这些文件包进去,安装后这些
文件夹及里面的文件也就会出线在安装目录下了。勾选 Include MATLAB Compiler Runtime
的话,则将其也打包进去了,在别的没有装 matlab 的机器上安装时就会自动要求你先安装
MCR。
然后按在上上图中,Build the project。 完成 compilation
接着 package the project。
找到\distrib 下的 proname_pkg.exe 文件就是安装文件了。