文章目录

  • 写在前面
  • 生成步骤
    • 设置编译器
    • 编写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 ~isdeployedaddpath('your matlab path');
end

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

  1. 【MATLAB App Designer】实例:调用simulink模型并打包为独立程序

    [MATLAB App Designer]调用simulink模型并打包为独立程序 本人第一次写文章,如有纰漏还请指出,望海涵. 本人等级不够,标签都加不了qwq,大家点点赞哈. 文章目录 [MATL ...

  2. MATLAB App Designer GUI开发从0到1(二)

    文章目录 前言 一.开关以及旋钮 1. 左上角:旋钮 2.右上角:90度仪表 3.左下角:分档开关 4.右下角:开关 5.对旋钮微调 二.画图 1. 普通画图 2.添加小组件 三.回调函数 简单的回调 ...

  3. 《MATLAB App Designer从入门到实践》随书源代码

    GUIDE已经被MATLAB抛弃了,你还不知道吗?App Designer才是发展的方向 目前市面上MATLAB GUI编程的书籍琳琅满目,但大多数是基于GUIDE开发的,MATLAB从2016年开始 ...

  4. Matlab App Designer 学习笔记

    提示:本文的学习视频来自B站小刘老师的教程 链接:https://www.bilibili.com/video/BV16f4y147x9?from=search&seid=2070258926 ...

  5. Matlab App Designer 实现简单程序的设计笔记 (实时更新)

    问题引入 最近发现matlab的GUI界面马上就要被取消了,取而代之matlab官方弄了一个叫App Designer的东西,打开看了一下,发现截面还挺好看的,比原本的GUI好友好多了.所以做个笔记, ...

  6. MATLAB App Designer 特别篇:RGB颜色提取器

    在大家的要求下,我将RGB颜色提取器App化了,并做出了以下几个改进: 保留小数位数标准化 颜色格式多样化: 支持16进制码及HSV格式 数据输出标准化: 其他的用法可以看之前GUI版本的相关文章: ...

  7. 汽车各档爬坡度曲线matlab,基于MATLAB App Designer的汽车爬坡能力建模与仿真

    1. 引言 汽车常常需要在不同区域的不同道路上行驶,尤其在山区道路上,坡陡路窄,汽车必须具有一定的爬坡能力,爬坡能力通常由最大爬坡度来衡量,最大爬坡度是汽车动力性能的重要指标之一.为此开展了基于MAT ...

  8. 基于Matlab App Designer的语音信号分析与处理(二):IIR和FIR滤波器的设计,语音信号的滤波

    接上文:https://blog.csdn.net/weixin_53877178/article/details/122470759 目录 一.课题的任务 二.内容.步骤和要求 (1)语音信号的采集 ...

  9. matlab app designer使用心得

    matlab app designer使用心得 最近导师让我在simulink仿真的基础上整一个仿真软件,然后就发现现在matlab已经把之前的GUIDE升级成了app designer,一番摸索踩坑 ...

最新文章

  1. python如何打开文件编辑界面_Python-PyQt5-图形可视化界面(5)--打开文件或文件夹--QFileDialog...
  2. android 详解画图,android画图之贝塞尔曲线讲解详解
  3. .NET出现频率非常高的笔试题
  4. SQL 2005 数据库镜像
  5. java原生怎么发请求,java原生http请求post
  6. NVIDIA Parallel Nsight
  7. python作者 es6_es6之js的类
  8. java小学毕业学的会吗_Java的一些概念
  9. java 接口和抽象类的区别_Java中的接口与抽象类:有什么区别?
  10. android 执行Shell命令
  11. social-share,社会化分享组件之jquery版
  12. 【Python3】简易爬虫实现船舶的MMSI的获取
  13. 形式验证Formality
  14. 安徽省省二级c语言准考证号查询系统,网办进度考试查询系统
  15. php使用逻辑运算符提交程序运行效率
  16. 微信获取授权用户手机号
  17. 如何做成gif动画图片?教你简单三步制作gif动图
  18. 2022年在家安装一个监控摄像头需要多少成本
  19. 【21天python打卡】第9天 基础技能(2)
  20. 从15亿到5000亿 eBay收购PayPal成硅谷传奇

热门文章

  1. html css js题目
  2. 多元线性回归系数求解
  3. Android高德地图贴合图片完成手绘地图展示
  4. 【Android显示系统初探】surface初相识
  5. 2021_WWW_Self-Supervised Multi-Channel Hypergraph Convolutional Network for Social Recommendation
  6. 2022新版nft源码中国元宇宙数字藏品艺术品交易平台源码
  7. 听说你还不知道vip代表什么?
  8. esp8266 rtos 开发环境 ubuntu_树莓派安装ESP8266_SDK开发环境
  9. 死囚试毒酒问题(改编)
  10. tarjan——割点