MATLAB+GUI 生成可执行exe文件

  • Post author:
  • Post category:其他




安装编译器

到生成

可执行exe文件

,记录一下。



安装编译器

当你在MATLAB命令行输入

mex -setup



mbuild -setup

时,若出现以下提示

mex错误提示

mbuild错误提示

那么恭喜你,在生成可执行文件之前,你需要先搞定编译器的问题。



解决方案

  1. 下载 MinGW-64 C/C++ 编译器


    倘若你用的是正版MATLAB,那么按照提示点进链接下载安装即可。

    倘若你跟我一样,用的不知道哪里下载的破解版,那就只能手动下载辽。下载地址:

    http://tdm-gcc.tdragon.net/download



    注意

    :下载相应系统的编译器。我是64bit,下载

    gcc下载

    点进去之后,可能会出现

    迷惑行为

    :“咦它自己开始下载了?” “哇下载好了!”

    emm 自动下载的东西不太对,需要你自己点击 Download

    download

    这时候才下载对了,然后 Creat,闭着眼 next 安装即可。(可以改变目录,记住安装目录就行)


  2. 添加环境变量


    打开

    控制面板-系统-高级系统设置-环境变量

    ,在系统变量里点击新增,如下图新增环境变量。变量值是刚刚的安装目录。

    新增环境变量


  3. MATLAB设置环境变量


    在MATLAB命令行输入

    setenv('MW_MINGW64_LOC','D:\TDM-GCC-64')


    然后再输入

    mex -setup



    mbuild -setup

    时,会出现选择编译器的界面,选择一个即可。

    选择编译器



生成独立可执行的exe文件

接下来,美滋滋的按照常规方法生成exe。


  1. 调用编辑器


    在MATLAB命令行输入

    mcc -m filename.m

    “filaname.m”为需要编译的”.m”文件。

    执行完毕之后,会在当前目录生成

    .exe



    readme.txt



    mccExcludedFiles.log



    requiredMCRProducts.txt

    四个文件。新建一个文件夹单独存放这四个文件。

  2. 安装MCRInstaller.exe


    正常情况下,应该是安装matlab路径下的“\toolbox\compiler\deploy\win32\MCRInstaller.exe”文件。

    这时候我发现我是64bit的MATLAB只有win64,这个不重要,重点是这个文件夹里我没找到

    MCRInstaller.exe



    于是我在MATLAB命令行输入

    mcrinstaller

    ,出现提示如下:

    mcrinstaller提示

    让咱下载,咱就下载。于是命令行输入

    compiler.runtime.download

    ,等待一会儿(事实上等待了非常久,久到我等不住回寝室了…),然后终于下载完成了!

    再在MATLAB命令行输入

    mcrinstaller

    就可以得到对应版本的

    MCRInstaller.exe

    所在路径,名字可能有所不同,我是MATLAB2018b,对应MCR叫

    MCR_R2018b_win64_installer.exe

    ,问题不大。

  3. Package


    最后把

    MCRInstaller.exe

    和1中生成的4个文件放在一起,打包即可。这个包就是可以在别台电脑运行的文件夹。



运行

若想在没有MATLAB的电脑上运行

.exe

文件,需要先安装

MCRInstaller.exe

(这个过程需要一点时间,喝杯茶看看风景…),安装路径没有要求,一般来说安装完成会自动添加环境变量。

安装完成之后,运行

.exe

即可。



DOS提示框

运行可执行文件时,会出现DOS黑屏,消除DOS黑屏的方法其他博客都有详细介绍,我在这里只做搬运。


  1. 方法一


    在MATLAB命令行输入:
>> cd(prefdir)
>> edit compopts.bat

在 compopts.bat 文件最后添加以下语句:

  • VC环境下:

    set LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup
  • LCC环境下:

    set LINKFLAGS=%LINKFLAGS% -subsystemwindows
  • Borland:

    set LINKFLAGS=%LINKFLAGS% -aa

保存以后,再重新编译m文件,生成的exe文件运行起来就没有DOS黑屏了。


  1. 方法二


    在MATLAB命令行输入

    mcc -e filename.m

    ,重新编译exe,生成的exe文件没有DOS黑屏。



感谢


https://blog.csdn.net/bailing910/article/details/79669028



https://blog.csdn.net/u014527548/article/details/77092991


PS. MATLAB生成可执行文件,在无MATLAB环境下运行,必须先安装MCR…好麻烦哦…而且打开贼慢…



版权声明:本文为sinat_35026778原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。