如何将MATLAB的.M程序编译成Windows中直接运行的独立可执行程序?如何将编译好的独立可执行程序发布在没有安装MATLAB的个人电脑上?下面将一步步详细介绍实现过程:
一、生成独立可执行的程序(exe文件)步骤
1、安装编译器。可有多种选择(具体参见官网支持列表),这里我推荐使用Visual Studio 2015专业版实现。
VS2015 专业版下载链接 专业版激活 HMGNV-WCYXV-X7G9W-YCX63-B98R2
编程语言中Visual C++栏目下,必须手动勾选安装用于C++的Microsoft基础类。否则会导致后面MATLAB2018b 找不到C++编译器。
2、配置编译器。打开Matlab R2018b后,
在matlab命令行输入mbuild -setup命令(注意mbuild和-setup之间应有一个空格; -是在英文输入法状态下键入的减号),然后根据自己的需求用鼠标选择相应的选项即可。
3、调用编译器。
例一: 制作脱离MATLAB环境的GUI可执行文件
我们做成的GUI程序只能在MATLAB环境下打开运行,这样不方便,显然我们很容易想到,能不能做成exe文件直接在Windows下任何电脑(包括未安装MATLAB的PC)上直接运行呢?
利用MATLAB的编译命令我们可以实现GUI可执行文件的生成。
如项目文件包含:gui.m 、subgui.m及其对应的fig文件和其他资源文件,则在当前工作路径下命令行输入:mcc –m gui.m subgui.m
注意:可以根据文件生成时间确定在当前路径下哪些是新生成的文件。
先会弹出一个黑色DOS窗口,过一会儿再弹出应用程序主界面。
4、安装MCR运行库。
在未安装MATLAB的PC机上运行刚才生成的可执行程序,需要调用的函数库称为 MATLAB Runtime
这里我所使用的版本为MCR_R2018b_win64_installer.exe
将步骤3中生成的所有文件以及必要的资源文件(如图片等)拷贝到该计算机任意同一文件夹里面。运行***.exe即可执行。
5、去除独立可执行程序启动运行时的“DOS黑窗口”。
用mcc -e Bathymetry.m about.m代替mcc -m Bathymetry.m about.m生成.exe文件
mcc常用命令选项 –e 独立可执行文件运行时不带MS-DOS窗口。
mcc常用命令选项 –a 有时需要用-a命令添加附加文件
MATLAB环境下生成独立可执行程序的安装包
用户发布程序的安装包最简单的方法是利用deploytool工具,其操作过程如下:
在命令行键入 deploytool 并回车,鼠标选择弹出窗口第一项Application Compiler
Add main file鼠标单击粉色框后的蓝色加号,添加该安装包的主程序.m文件
Runtime included in packages选择该单选框,即所发布的程序安装包附带MCR
推荐选择默认的 Runtime downloaded from web ,这样的好处是编译过程中不容易出错且生成的安装包文件体积较小,缺点是在运行生成的安装包文件前需要手动下载并安装完对应版本的MCR,否则在线安装MCR过程耗时久。
填写程序安装时展示的默认信息
Application information
Application Name 应用程序的名称
Author Name 作者名称
Company 制作公司
Summary 信息摘要
Description 详细描述
Additional installer options
Default installation folder 默认的软件安装路径
Installation notes 安装完毕退出前的信息提示
最终独立可执行.exe程序的快捷方式图标,设定位置在Application Name左侧的小图标按钮。
独立可执行.exe程序启动时显示的过渡图片,设定位置在右侧的 Select custom splash screen。
生成可执行独立程序安装包
Files installed for your end user 右侧加号按钮可把需要打包的说明文档、其他资源文件等数据集成到安装包里,释放在你设定的软件安装目录下。
一切准备就绪后,鼠标单击 Package按钮。