首先,标题略长……

其次,当你看到这个长长的标题并点进来的时候:bro,恭喜你终于找到了一个行之有效的解决方案!

~好了,下面我们言归正传。

关于MATLAB App Designer自身的介绍不是此文重点,不再赘述,相信来到这里的小伙伴都已经对其有了不同层次的认知。个人感觉,App Designer确实比其自家的前辈GUIDE更易用、高效、美观,但在软件工具开发层面,其依然无法和大众流行的Python、Jave、MS平台相比,主要体现在代码架构组织和编辑方式让人唉声叹气、打包软件运行效率低得让人欲哭无泪、软件BUG莫名其妙且百度不得其解、打包运行和开发模式下的错误南辕北辙……然而,吐槽虽是,但无法弃之。为了饭碗,一些奇葩的问题还是只能硬着头皮去搞,比如标题所述的问题。

先说下我的开发需求和环境:

1)系统软件:Win10+MATLAB2020a版本

2)工程目录:首先肯定有个.mlapp文件,里面一堆操作中会去调用.mlapp文件同级目录下(也即工程根目录)的配置文件(包括excel、子文件夹中txt等需要用户配置文件)

如上所述,由于需要加载外部配置文件并且不能把目录一锤定音写死,自然在.mlapp的脚本中需要涉及路径问题,一开始想用mfilename函数获取exe的当前路径,测试过程中发现:

在开发模式下,由于运行.mlapp前必须先将相关文件夹和文件添加到path(否则运行直接报错),因此隐藏了mfilename函数实际上无法获取exe绝对路径的问题(猜测脚本应该是在path目录里去找了);但是打包成exe文件后,不管是安装版还是免安装版,点击运行时却存在找不到配置文件的错误(友情多余提醒:需要在打包时勾选“输出日志文件”或“显示调试窗口”的方式才能捕捉到详细信息),因为此时matlab会把整个exe临时复制到以下目录(忘了截图了,只能凭印象了):“C:\Users\Administrator\AppData\Local\Temp\Administrator\MCRInstaller9.9\……”,也即系统默认的用户文件目录,所以此时自然也就找不到exe同目录下的其他文件了。

于是,开始了中文百度和英文谷歌,各种关键词花式组合搜了好几天,看到的搜索结果大概有以下几种:

1)很多说可以使用mfilename、path函数。

2)部分说可以使用cd、which等系统命令查找exe文件绝对目录。

3)部分说可以使用查找注册表的方式查找exe文件绝对目录……

最后一一测试,发现结果只有三个字:然并卵!

失败的过程就不啰嗦了,感兴趣的朋友可以去亲自体验。无奈之下,一边骂MATLAB软件开发生态的贫瘠,一边只能继续冥思苦想(随便瞎试),最后凭运气发现:

pwd命令可用!

是的,pwd命令在通过非快捷方式启动运行exe时,可以获取到exe所在绝对路径!

exe_abs_fullpath = pwd;

所以,看到这的亲们,你们可以激动得动起你们的小手试一下了!

但是,无论怎么操作,发现windows平台上一个自始至终无法解决的问题:使用MATLAB自带打包工具打包的安装版的exe通过快捷方式或开始菜单启动时,pwd命令依然无法获取到exe所在目录……还有这种骚操作??谁的锅??只能说fck了!

但愿以后不再用MATLAB开发客户端软件,愿世界和平!

Matlab App Designer编译打包exe后读取文件路径问题相关推荐

  1. th:text为null报错_小猿圈web前端之vue-cli项目打包完成后运行文件路径报错问题

    学习前端的小伙伴越来越多,问题也就越多,前面基础部分还好一些,特别是一到框架的时候,难住了一大部分人,今天小猿圈web前端讲师就为大家总结了vue-cli项目打包完成后运行文件路径报错问题,有兴趣的小 ...

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

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

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

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

  4. 基于MATLAB APP Designer 和 Python 的音视频剪辑

    简介 本软件是基于 MATLAB APP Designer 和 Python 联合编制的一款简易音视频剪辑软件,可以拿来练手MATLAB APP Designer.面向对象编程.假期空闲时和同学一起自 ...

  5. Matlab App Designer 学习笔记

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

  6. Matlab APP Designer Demo

    Matlab --- APP Designer Matlab APP Designer 提供了比GUIDE更加丰富的组件,两者使用方法有所不同,如下图: 然后我们开始新建一个APP Designer. ...

  7. 用MATLAB app designer设计人机交互界面——二阶线性动态电路可视化分析的研究

    用MATLAB app designer设计人机交互界面--二阶线性动态电路可视化分析的研究 这是我第一次尝试写博客,我试着给出电路课上要求的电路实验编程.但是电路的类型有点儿多,所以我只以二阶动态电 ...

  8. MATLAB App Designer —— 手撕代码学习总结

    文章目录 MATLAB App Designer 官方文档 MATLAB App Designer 官方示例 (一) (1.1)csvread() 函数 (1.2)xlsread() 函数 (1.3) ...

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

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

最新文章

  1. 硬核!15张图解Redis为什么这么快
  2. android:windowsoftinputmode=“adjustresize” 无效的解决办法
  3. 工作中如何进行接口测试
  4. python的分号用英文还是中文_Python中的分号
  5. 团队管理21--梯队培养
  6. 2NE1 AON北京演唱会
  7. Snaker-designer插件Eclipse安装
  8. CF1153F Serval and Bonus Problem
  9. Inferring Motion Direction using Commodity Wi-Fi for Interactive Exergames (WiDrancd)论文翻译
  10. 使用python在已存在的excel数据表中的特定位置写入数据
  11. Flutter 图片组件Image、本地图片、远程图片、图片剪切、圆形图片
  12. Excel数值函数(3):对“自动筛选”的结果求和、平均值、极值等
  13. 【Swift编程基础】P41-50
  14. 网盘江湖混战难打 百度为何坚持加码?
  15. Java中常见的几种任务调度框架对比
  16. Day1 Java读取二进制文件
  17. Web_Traffic_Part1赛题分析
  18. java字符串去重_java字符串去重方法详解,字符串如何去重?
  19. App竞品技术分析 (3)减小安装包的体积(转)
  20. 爬虫实战(1)————百度首页爬取

热门文章

  1. 联想TD350服务器主板型号,【新品】塔式机身 联想ThinkServer TD350
  2. js-xlsx插件导出的excel头部有一行序号解决办法
  3. web端接收读卡器卡片信息
  4. 华为手机如何默认数据存在存储卡里面
  5. 揭秘网站的seo技术 ---seo与seoer 王泽宾
  6. 知识图谱——TransH模型原理
  7. Java导出excel表格,数字数据带E
  8. Huggingface Transformers 安装报错 ImportError: /lib64/libc.so.6: version `GLIBC_2.18‘ not found
  9. 迈巴赫S480升级原厂H17全车钢琴木饰板,五座改四座,电动后门
  10. MaxCompute(ODPS)一对多连表时实现多行过滤(同样适用于MySQL)