【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库打包进去。

  • 问题三:在对于不同APP使用相同动态链接库时,生成原型文件,报错显示如下:

  • 解决方案:在APP的UI关闭回调函数中添加,卸载共享C库
unloadlibrary libname

三、使用步骤 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

琛:D

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值