2020-11-26

基于2018a Matlab GUI  .m文件生成不依赖matlab可独立运行的exe文件

     鉴于学习和工作上的需求,最近在使用Matlab来设计GUI界面,并将.m文件打包成.exe文件,现在记录自己学习过程中的一些心得。本人使用的是matlab 2018a(破解版).通过Matlab GUI生成的文件会有"filename.m"和"filename.fig"两部分文件组成,filename这个是自己代码的文件名。下面实现filename.m到filename.exe的过程。

   第一种方法(利用Matlab自带的Aplpication Complier ):

     首先配置.exe独立运行的Matlab环境,查看自己的Matlab有没有安装 。在Matlab命令行输入mcrinstaller,如果已经安装的话会弹出MCRInstaller.exe所在的路径,这个路径一般是在matlab安装目录下\toolbox\compiler\deploy\win64里面。

                   

     如果没有安装 MCRInstaller.exe,就会提示下面结果。

   

     我们可以手动下载添加。在添加之前需要知道自己下载Matlab Runtime的版本号,在matlab命令窗口输入 version

                 

       这样就知道了2018a对应9.4版本,然后打开链接 https://ww2.mathworks.cn/products/compiler/matlab-runtime.html 下载对应版本即可                         

                

     另一种方法是在matlab命令窗口输入 compiler.runtime.download,然后等待下载即可。下载完成后将下载的  MCR_R2018a_win64_installer.exe (版本不同,对应的名字会有差别)改名为MCRinstaller.exe(试过,不改名输入mcrinstaller没有结果)放在Matlab安装目录下\toolbox\compiler\deploy\win64目录下。

              

 然后,在Matlab命令行输入mcrinstaller,如果弹出MCRInstaller.exe所在的路径,到这一步.exe独立运行的Matlab环境算是ok了。  在matlab命令行窗口输入 deploytool 命令,弹出如下窗口点击 Aplpication Complier

              

 另一种方法是点击APP,找到Aplpication Complier点击即可

                

  打开Aplpication Complier后会出现下图界面

            

 图中 "1"添加自己GUI的主程序.m文件。比如我的GUI的.m文件为file.m文件,点击添加进去即可

           

  “2”和“3”可以选择exe打包方式及更改打包的exe文件名称。"2"来自Web,打包速度快,体积小。但在运行时需要有网络,用户得到.exe文件后,安装时,需要下载Matlab runtime,占用时间。“3”打包速度慢,但是用户根据简单提示,就能安装使用.exe文件。一般建议选择使用“3“打包方式。 “4”是设置打包文件的路径,"5"可以设置多类信息: 软件信息   .exe文件的封面、作者联系信息、软件功能描述,“6”软件执行所依赖的所有文件和文件夹。  在“1”添加完文件,更改保存路径和软件信息后点击右上角Package打包就行。

                                                                                                 

             

 打包完成后在打包输出文件目录就会出现这样的3个文件夹

            

  当用户电脑有对应版本的Matlab Runtime时,只需要运行 for_testing 文件夹中的文件;

    如果没有,就需要for_redistribution文件夹中的文件和上面下载的MCRinstaller.exe文件一起打包(1G多),放入目标电脑中。然后点击MCRinstaller.exe安装,安装 路径没有要求,一般来说安装完成会自动添加环境变量,生成一个 v94的文件夹(因为是9.4版本,其他版本比如9.6就会生成v96)。然后运行or_redistribution文件夹里面的.exe程序即可。

  第二种方法:(通过编译器来实现.exe文件)

         首先,确定自己的Matlab有没有安装编译器 在MATLAB命令行输入 mex -setupmbuild -setup时(注意空格),如果出现   

            

 

                 

       这就需要自己手动下载一个编译器了。使用正版软件直接可以访问错误提示中的链接去下载,破解版的可以在下面网址下载http://tdm-gcc.tdragon.net/download 

                         

         

下载完成后打开tdm64-gcc-9.2.0.exe即可安装

           

     如果电脑64bit选择下面

 

               

  这个最好直接在C盘或者D盘根目录

 

           

 选择C/C++,Install.

 

           

            

 安装完成后,Matlab命令串口输入setenv('MW_MINGW64_LOC','D:\TDM-GCC-64'),然后再输入mex -setup,会出现选择编译器的界面,选择c++编译。

                 

   在Matlab命令行输入 mcc -m filename.m,“filaname.m"为需要编译的”.m"文件。执行完毕之后,会在当前目录生成.exereadme.txtmccExcludedFiles.logrequiredMCRProducts.txt4个文件。最后把 MCRInstaller.exe生成的4个文件放在1个文件家下,复制到别台电脑(没安装Matlab)运行即可在没有MATLAB的电脑上运行.exe文件,需要先安装 MCRInstaller.exe一般来说安装完成会自动添加环境变量。安装完成之后,运行.exe即可。运行可执行文件时,会出现DOS黑屏,消除DOS黑屏的方法参见https://blog.csdn.net/sinat_35026778/article/details/89889434.

 感谢:

     https://blog.csdn.net/sinat_35026778/article/details/89889434

     https://blog.csdn.net/sky_yiyi_9/article/details/88140283

                            

 

 


                       

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值