MATLAB+GUI 生成可执行exe文件

安装编译器 到生成 可执行exe文件,记录一下。

安装编译器

当你在MATLAB命令行输入 mex -setupmbuild -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 -setupmbuild -setup 时,会出现选择编译器的界面,选择一个即可。
    选择编译器

生成独立可执行的exe文件

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

  1. 调用编辑器
    在MATLAB命令行输入 mcc -m filename.m “filaname.m"为需要编译的”.m"文件。
    执行完毕之后,会在当前目录生成 .exereadme.txtmccExcludedFiles.logrequiredMCRProducts.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…好麻烦哦…而且打开贼慢…

猜你喜欢

转载自blog.csdn.net/sinat_35026778/article/details/89889434