从
安装编译器
到生成
可执行exe文件
,记录一下。
安装编译器
当你在MATLAB命令行输入
mex -setup
或
mbuild -setup
时,若出现以下提示
那么恭喜你,在生成可执行文件之前,你需要先搞定编译器的问题。
解决方案
-
下载 MinGW-64 C/C++ 编译器
倘若你用的是正版MATLAB,那么按照提示点进链接下载安装即可。
倘若你跟我一样,用的不知道哪里下载的破解版,那就只能手动下载辽。下载地址:
http://tdm-gcc.tdragon.net/download
注意
:下载相应系统的编译器。我是64bit,下载
点进去之后,可能会出现
迷惑行为
:“咦它自己开始下载了?” “哇下载好了!”
emm 自动下载的东西不太对,需要你自己点击 Download
这时候才下载对了,然后 Creat,闭着眼 next 安装即可。(可以改变目录,记住安装目录就行) -
添加环境变量
打开
控制面板-系统-高级系统设置-环境变量
,在系统变量里点击新增,如下图新增环境变量。变量值是刚刚的安装目录。
-
MATLAB设置环境变量
在MATLAB命令行输入
setenv('MW_MINGW64_LOC','D:\TDM-GCC-64')
然后再输入
mex -setup
或
mbuild -setup
时,会出现选择编译器的界面,选择一个即可。
生成独立可执行的exe文件
接下来,美滋滋的按照常规方法生成exe。
-
调用编辑器
在MATLAB命令行输入
mcc -m filename.m
“filaname.m”为需要编译的”.m”文件。
执行完毕之后,会在当前目录生成
.exe
、
readme.txt
、
mccExcludedFiles.log
和
requiredMCRProducts.txt
四个文件。新建一个文件夹单独存放这四个文件。 -
安装MCRInstaller.exe
正常情况下,应该是安装matlab路径下的“\toolbox\compiler\deploy\win32\MCRInstaller.exe”文件。
这时候我发现我是64bit的MATLAB只有win64,这个不重要,重点是这个文件夹里我没找到
MCRInstaller.exe
…
于是我在MATLAB命令行输入
mcrinstaller
,出现提示如下:
让咱下载,咱就下载。于是命令行输入
compiler.runtime.download
,等待一会儿(事实上等待了非常久,久到我等不住回寝室了…),然后终于下载完成了!
再在MATLAB命令行输入
mcrinstaller
就可以得到对应版本的
MCRInstaller.exe
所在路径,名字可能有所不同,我是MATLAB2018b,对应MCR叫
MCR_R2018b_win64_installer.exe
,问题不大。 -
Package
最后把
MCRInstaller.exe
和1中生成的4个文件放在一起,打包即可。这个包就是可以在别台电脑运行的文件夹。
运行
若想在没有MATLAB的电脑上运行
.exe
文件,需要先安装
MCRInstaller.exe
(这个过程需要一点时间,喝杯茶看看风景…),安装路径没有要求,一般来说安装完成会自动添加环境变量。
安装完成之后,运行
.exe
即可。
DOS提示框
运行可执行文件时,会出现DOS黑屏,消除DOS黑屏的方法其他博客都有详细介绍,我在这里只做搬运。
-
方法一
在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黑屏了。
-
方法二
在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…好麻烦哦…而且打开贼慢…