Matlab 编译成exe出现dos窗口以及链接VS 的解决方法

时间:2024-03-16 19:52:52

       第一部分:解决Matlab2012与VS2012链接问题

    在使用matlab2012试图将已有的M文件和fig文件编译成exe文件时,当运行mbuild -setup命令时,会出现无法找到编译器的情况,这其实时因为你的matlab和对应的VS版本不同的缘故,我的电脑安装的是matlab2012aVS2012,对应版本参考网址:https://cn.mathworks.com/support/sysreq/previous_releases.html?s_cid=pi_scl_2_R2012a_win64 。

Matlab 2012编译成exe出现dos窗口以及链接VS 2012的解决方法

点击Details,可以看到matlab2012对应的编译器应该是VS2008或者VS2010

Matlab 2012编译成exe出现dos窗口以及链接VS 2012的解决方法

     为了解决matlab2012和VS2012不对应的问题,我们从网上下载已修改的路径的文件,其实是添加了visual studio 11的路径文件,文件下载地址:http://download.csdn.net/detail/houqi1993/7422269 ,如图所示。下载完成之后,将文件拷贝进自己安装的matlab相应的文件夹路径下:“D:\Program Files\MATLAB\R2012a\bin\win64\mbuildopts”

Matlab 2012编译成exe出现dos窗口以及链接VS 2012的解决方法

粘贴完成之后,先运行一次m文件,目的是将默认的运行路径改为当前文件运行的路径,之后运行命令mbuild -setup,就按照提示就可以进行编译,如图所示:

Matlab 2012编译成exe出现dos窗口以及链接VS 2012的解决方法

由于我有fig文件和m文件,因此使用mcc -m xxx.fig xxx.m命令,如图所示:

Matlab 2012编译成exe出现dos窗口以及链接VS 2012的解决方法

编译结果如图所示:

Matlab 2012编译成exe出现dos窗口以及链接VS 2012的解决方法

第二部分:解决生成的exe文件运行出现dos窗口的问题

Matlab 2012编译成exe出现dos窗口以及链接VS 2012的解决方法    

     双击exe文件,出现了一个dos窗口和本身的exe程序窗口,如图所示。看了网上很多教程有说用软件去除的,有说从C++编译文件中修改的,但是这些大多是使用mcc-m命令进行编译的结果,貌似使用mcc -e命令进行编译所生产的exe文件运行之后并不会出现dos窗口,不同电脑之后测试的结果也是这样,至此Matlab2012与VS2012编译问题完美解决。