matlab的m文件生成可执行exe程序,细节内容可能随版本不同有些差异,但是步骤大致通用。我的是matlab2016a,vs2015,win7。
文章目录
步骤1:安装编译器:输入 mbuild -setup
命令行窗口输入mbuild -setup
MBUILD 配置为使用 'Microsoft Visual C++ 2015 Professional (C)' 以进行 C 语言编译
要选择不同的语言,请从以下选项中选择一种命令:
mex -setup C++ -client MBUILD
mex -setup FORTRAN -client MBUILD
点击选择mex -setup C++ -client MBUILD
步骤2:设置编译器:mex -setup
命令行窗口输入mex -setup
MEX 配置为使用 'Microsoft Visual C++ 2015 Professional (C)' 以进行 C 语言编译。
警告: MATLAB C 和 Fortran API 已更改,现可支持包含 2^32-1 个以上元素的 MATLAB 变量。不久以后,您需要更新代码以利用新的 API。
您可以在以下网址找到相关详细信息:http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html。
要选择不同的语言,请从以下选项中选择一种命令:
mex -setup C++
mex -setup FORTRAN
鼠标单击选择mex -setup C++
步骤3:改写你的m文件
将你的m文件加上函数头和end。比如:
function m2exetest(n)
A=[1 2 3;4 5 6;7 8 9];
disp(n);
disp(A);%显示矩阵
pause(3);%暂停3秒
disp('pause结束');
end
这里的n就是输入参数,如果没有的时候就不写就可以,只用()就k可以。
步骤4:调用编译器:mcc -m filename.m
命令行窗口输入:mcc -m filename.m
可以生成exe文件了,附带生成的3个小文件可以忽略,就是用于记录的,可以点掉。
exe的名称可以随意改,不影响。
步骤5:.exe用于其他设备的配置
将exe拷贝到其他电脑上使用,直接双击exe是没有反应的,只要另一个电脑上没有安装与你的matlab完全相同的版本,就不能运行。需要做2个步骤:
1.将你的matlab安装路径下的MCRInstaller.exe拷贝给对方并安装。
D:\Program Files\MATLAB\R2016a\toolbox\compiler\deploy\win64
2.在新的设备上找到路径D:\Program Files\MATLAB\MATLAB Runtime\v90\runtime\win64,将其加入到环境变量。
ok,可以exe运行了。
后记
如果希望exe能自动结束,可以在主函数m文件end结束前加上exit;或者quit;。
百度上总有人说如何exe文件消除dos黑屏的问题,这是什么意思?我还没遇到,是个什么具体情况?遇到的人可以交流一下。