解决:打包MATLAB程序使其在未安装MATLAB的机子上运行

感谢!!!

    最近有需求在MATLAB上编写的程序经打包成exe后脱离MATLAB环境,在另外一台未装MATLAB的机子(后文统一简称此为目标机,而编写MATLAB程序的机子我们简称编程机)上运行这个exe而不需在目标机上安装Matlab Run Time。经过多番搜寻一篇博主的博文启发并解决了我的这个问题,但笔者认为该博主sword的描述不是很详细并且笔者秉承着解决问题就要记录下来的原则,故此对其方法进行进一步的完善,并添加笔者自身的实践。
    在此附上博主sword原文:传送门

# 开始了

    先在Matlab命令行中输入compiler.runtime.download,稍等五六秒,然后按CTRL+C键终止命令,得到如下所示的信息:

>> compiler.runtime.download
Downloading MATLAB Runtime installer. It may take several minutes...

错误使用 compiler.runtime.download
访问 URL
'https://ssd.mathworks.cn/supportfiles/downloads/R2020a/Release/0/deployment_files/installer/complete/win64/MATLAB_Runtime_R2020a_win64.zip'
时,Web 服务操作被用户终止。

    复制其中的URL地址,自己下载,因为如果让MATLAB自己下载,大概率白费功夫。。。注意观察下载的版本号是不是你所安装的版本,如这里的是R2020a。
    将下载好的文件进行解压,然后打开setup.exe进行安装,最好按默认路径安装,同时记得这个路径。
    安装好后会出现如下文件夹v98:

    然后将v98(或vxx)进行打包后面,移植需要用到。

    至此以及完成了大部分工作,此后可以参考博主的方法进行操作。

# 开始进行移植

    首先在编程机上输入如下命令,将你所需要打包的主MATLAB程序进行打包:
mcc -m xxx.mxxx.m为需要打包的主MATLAB程序。
    之后将打包之后的exe文件及其他被此exe调用的.m文件进行整体统一打包,这个rar包为你的程序代码包。
    将之前打包好的v98.zip复制到目标机进行解压,然后进入\v98\runtime\win64并复制路径留用,如:
C:\Program Files\MATLAB\MATLAB Runtime\v98\runtime\win64
    接着在目标机上配置环境变量,如下图:

    配置好环境变量后,找个地方解压你的代码包,然后直接运行exe文件即可,此打开过程时间可能较长,需稍微耐心等待一会儿。

    至此便已完成移植全部过程。

posted @ 2022-10-30 00:37  LiangXin_Alex  阅读(2331)  评论(0编辑  收藏  举报