MATLAB App Designer生成独立GUI(可执行exe)并添加依赖项
文章目录
- 写在前面
- 生成步骤
- 设置编译器
- 编写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文件不能出现添加路径和编辑器相关命令,如
addpath
、mkdir
、edit
等,如果你非要用,就等着感受程序既不运行也不报错的绝望吧。但是命令行命令是可以的,如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)并添加依赖项相关推荐
- 【MATLAB App Designer】实例:调用simulink模型并打包为独立程序
[MATLAB App Designer]调用simulink模型并打包为独立程序 本人第一次写文章,如有纰漏还请指出,望海涵. 本人等级不够,标签都加不了qwq,大家点点赞哈. 文章目录 [MATL ...
- MATLAB App Designer GUI开发从0到1(二)
文章目录 前言 一.开关以及旋钮 1. 左上角:旋钮 2.右上角:90度仪表 3.左下角:分档开关 4.右下角:开关 5.对旋钮微调 二.画图 1. 普通画图 2.添加小组件 三.回调函数 简单的回调 ...
- 《MATLAB App Designer从入门到实践》随书源代码
GUIDE已经被MATLAB抛弃了,你还不知道吗?App Designer才是发展的方向 目前市面上MATLAB GUI编程的书籍琳琅满目,但大多数是基于GUIDE开发的,MATLAB从2016年开始 ...
- Matlab App Designer 学习笔记
提示:本文的学习视频来自B站小刘老师的教程 链接:https://www.bilibili.com/video/BV16f4y147x9?from=search&seid=2070258926 ...
- Matlab App Designer 实现简单程序的设计笔记 (实时更新)
问题引入 最近发现matlab的GUI界面马上就要被取消了,取而代之matlab官方弄了一个叫App Designer的东西,打开看了一下,发现截面还挺好看的,比原本的GUI好友好多了.所以做个笔记, ...
- MATLAB App Designer 特别篇:RGB颜色提取器
在大家的要求下,我将RGB颜色提取器App化了,并做出了以下几个改进: 保留小数位数标准化 颜色格式多样化: 支持16进制码及HSV格式 数据输出标准化: 其他的用法可以看之前GUI版本的相关文章: ...
- 汽车各档爬坡度曲线matlab,基于MATLAB App Designer的汽车爬坡能力建模与仿真
1. 引言 汽车常常需要在不同区域的不同道路上行驶,尤其在山区道路上,坡陡路窄,汽车必须具有一定的爬坡能力,爬坡能力通常由最大爬坡度来衡量,最大爬坡度是汽车动力性能的重要指标之一.为此开展了基于MAT ...
- 基于Matlab App Designer的语音信号分析与处理(二):IIR和FIR滤波器的设计,语音信号的滤波
接上文:https://blog.csdn.net/weixin_53877178/article/details/122470759 目录 一.课题的任务 二.内容.步骤和要求 (1)语音信号的采集 ...
- matlab app designer使用心得
matlab app designer使用心得 最近导师让我在simulink仿真的基础上整一个仿真软件,然后就发现现在matlab已经把之前的GUIDE升级成了app designer,一番摸索踩坑 ...
最新文章
- python如何打开文件编辑界面_Python-PyQt5-图形可视化界面(5)--打开文件或文件夹--QFileDialog...
- android 详解画图,android画图之贝塞尔曲线讲解详解
- .NET出现频率非常高的笔试题
- SQL 2005 数据库镜像
- java原生怎么发请求,java原生http请求post
- NVIDIA Parallel Nsight
- python作者 es6_es6之js的类
- java小学毕业学的会吗_Java的一些概念
- java 接口和抽象类的区别_Java中的接口与抽象类:有什么区别?
- android 执行Shell命令
- social-share,社会化分享组件之jquery版
- 【Python3】简易爬虫实现船舶的MMSI的获取
- 形式验证Formality
- 安徽省省二级c语言准考证号查询系统,网办进度考试查询系统
- php使用逻辑运算符提交程序运行效率
- 微信获取授权用户手机号
- 如何做成gif动画图片?教你简单三步制作gif动图
- 2022年在家安装一个监控摄像头需要多少成本
- 【21天python打卡】第9天 基础技能(2)
- 从15亿到5000亿 eBay收购PayPal成硅谷传奇
热门文章
- html css js题目
- 多元线性回归系数求解
- Android高德地图贴合图片完成手绘地图展示
- 【Android显示系统初探】surface初相识
- 2021_WWW_Self-Supervised Multi-Channel Hypergraph Convolutional Network for Social Recommendation
- 2022新版nft源码中国元宇宙数字藏品艺术品交易平台源码
- 听说你还不知道vip代表什么?
- esp8266 rtos 开发环境 ubuntu_树莓派安装ESP8266_SDK开发环境
- 死囚试毒酒问题(改编)
- tarjan——割点