当前位置: 首页 > news >正文

【MATLAB APP】建立独立桌面APP

背景:已有MATLAB APP的.mlapp文件,但客户提出需要可以直接使用的exe文件。

要求:点开即用,无需下载MATLAB。使用者无法修改APP的代码。

一、环境配置

APP创建者:安装MATLAB R2023a,配置Application Compiler。

APP使用者:安装MATLAB Runtime R2023a。

  • 关于版本

我在使用时为了保险起见,是建议使用对应版本的Runtime。并没有测试安装其他版本的是否会出错,有兴趣的可以自行测试。

  • 关于安装包下载地址

网站:MATLAB Runtime - MATLAB Compiler - MATLAB

  • 关于是否安装完成

双击exe文件,运行正常说明安装完成。

二、打包步骤

  •  问题一:C动态链接库的头文件,在打包后的exe文件打开时始终报错。

我在网上找到最靠谱的相关文章就是:Calling Shared Libraries in Deployed Applications- MATLAB & Simulink- MathWorks 中国

  • 解决方案:在MATLAB R2023a中的命令行生成原型文件,然后修改调用函数库的函数

详细解答:以我的代码为例

原来调用函数库的语句

if not(libisloaded('zauxdll'))% loadlibrary(library, header)loadlibrary('zauxdll.dll','zauxdll2.h');
end

生成原型文件:在命令行窗口输入

% loadlibrary(library, header, 'mfilename', 'mylibrarymfile'); 
loadlibrary('zauxdll', 'zauxdll2', 'mfilename', 'mylibrarymfile'); 

生成原型文件后,调用函数库

% loadlibrary(library, @mylibrarymfile)
loadlibrary('zauxdll', @mylibrarymfile)
  • 问题二:在加载过程动态链接库过程中,还是报错。
  • 解决方案:在我使用的动态链接库zauxdll.dll在使用过程中,会调用zmotion库,所以在打包过程中也要把zmotion库打包进去。

三、使用步骤 

把exe文件双击打开,即可使用。

相关文章:

  • 相反多位数
  • Python 教程(三):字符串特性大全
  • ATF-541M4全解析(一)
  • 展馆导览系统架构解析,从需求分析到上线运维
  • json数据格式 继续学习
  • web学习笔记(八十三)git
  • C#基础——类、构造函数和静态成员
  • Java内存模型之JMM
  • 谷粒商城实战笔记-62-商品服务-API-品牌管理-OSS整合测试
  • 永劫无间手游攻略:玉玲珑怎么玩?云手机全自动操作!
  • kafka源码阅读-ReplicaStateMachine(副本状态机)解析
  • JupyterNotebook快捷键 自用
  • springboot整合pgsql
  • 回调函数简易笔记
  • 计科录取75人!常州大学计算机考研考情分析!
  • [译]前端离线指南(上)
  • AHK 中 = 和 == 等比较运算符的用法
  • canvas实际项目操作,包含:线条,圆形,扇形,图片绘制,图片圆角遮罩,矩形,弧形文字...
  • const let
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • Sublime text 3 3103 注册码
  • 对超线程几个不同角度的解释
  • 简析gRPC client 连接管理
  • 码农张的Bug人生 - 见面之礼
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 前端相关框架总和
  • 区块链分支循环
  • 如何用vue打造一个移动端音乐播放器
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 新版博客前端前瞻
  • 走向全栈之MongoDB的使用
  • ​configparser --- 配置文件解析器​
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ​第20课 在Android Native开发中加入新的C++类
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #define用法
  • $GOPATH/go.mod exists but should not goland
  • (C#)获取字符编码的类
  • (Forward) Music Player: From UI Proposal to Code
  • (第一天)包装对象、作用域、创建对象
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (二)原生js案例之数码时钟计时
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (一)基于IDEA的JAVA基础10
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)setTimeout 和 setInterval 的区别
  • (转)VC++中ondraw在什么时候调用的
  • ***测试-HTTP方法
  • .NET Micro Framework 4.2 beta 源码探析
  • .net 无限分类
  • .Net6 Api Swagger配置
  • .NET分布式缓存Memcached从入门到实战