MATLAB App Designer生成独立GUI(可执行exe)并添加依赖项

写在前面

近期,由于朋友需求以及科研任务要求,我研究了一下MATLAB GUI设计,写了两个小程序。一个是读取excel部门名单生成excel排班表的排班生成器,另一个是用于机器人编队中的控制和优化算法仿真软件。

程序在MATLAB上跑通很容易,麻烦的是如何将MATLAB GUI程序编译成独立可执行的程序?如何将编译好的独立可执行程序发布在没有安装MATLAB的电脑上?这篇文章讲一下生成exe的经验。

生成步骤

生成exe的过程下面将一步步实现:

设置编译器

要保证电脑中有C/C++编译器,MATLAB一般有自带的gcc,但是在Windows系统下建议使用visual studio,我电脑很早装过vs 2013,就直接选它了。MATLAB中也需要有MATLAB Compiler工具箱,否则无法编译。

设置方法,使用mbuid -setup,选择想要的,一直y即可。

编写GUI

我个人GUI的设计全部采用MATLAB自带的App Designer。这是MATLAB 2018b开始有的功能,使用方法已经很人性化了,桥总用过都说好。个人觉得甚至比MATLAB编辑器还好用,稍有GUI经验的人可以轻松上手,这里不再细讲。如果是老版本,也有GUI设计器,这时生成的是m文件,而不是mlapp文件。

生成exe

首先,在App Designer中选择“共享->独立桌面app”,进入Application Compiler。

随意设置“Application Information”和“additional installer options”,设置程序名字和图标,写上程序简介,设置默认安装位置,这些信息会在程序安装时出现。注意,splash screen会在程序的每一次启动时出现,记得选个炫酷的图片。

然后,“Additional runtime settings”记得两项全勾上(或者全不选)。debug这档子事,懂的人都懂,大神可忽略。

最后也是最关键的,添加依赖项。 在“Files required for your application to run”中,添加依赖的m文件和路径。打包器会自动将相关路径下的所有文件(或选中m文件)添加进exe安装目录,相关依赖文件也会自动识别并添加,非常方便。

完事之后,会生成3个文件夹,一个是正式安装包,另两个是可执行程序(相当于release和debug)。遗憾的是,处于代码保护的考虑,正式安装包和release程序将依赖的m文件直接嵌入exe,而非复制到安装目录,无法实时改脚本。

常踩的坑

  • 进入Application Compiler之后,记得把工程另存一下。如果对打包生成路径有要求,一定注意先另存为打包工程到期望位置,在进行其他选项设置,否则默认在mlapp文件目录下生成resource等文件夹。

  • 所有m文件和mlapp文件不能出现添加路径和编辑器相关命令,如addpathmkdiredit等,如果你非要用,就等着感受程序既不运行也不报错的绝望吧。但是命令行命令是可以的,如cd,也就是说相对路径可以间接利用。

  • 如果你的matlab有startup.m文件,使用isdeployed命令移除所有addpath命令,如下所示,同时上述将移除的路径(或m文件)在“Files required for your application to run”选项中添加。

if ~isdeployed
    addpath('your matlab path');
end
  • 20
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值