MATLAB GUI多个m文件和fig如何生成exe文件

求助: 我编写的GUI由多个m文件和fig文件组成,怎么生成exe文件呢?我看网上全是针对单位文件执行的! 谢谢

方法一:
已有gui.m文件和gui.fig文件
1 在matlab的command窗口中输入
mcc -B sgl GUI.m
2.将上步生成的文件包括*m 文件和*.fig文件一起考到待运行的机器,此时仍需matlab所必需的动态连接库。
3. 将 <matlab path >/extern/lib/win32/mglinstallar.exel拷贝到到待运行机器上
4.在机器上先运行mglinstallar.exe, 然后选择解压目录,将在将在指定目录下解压缩出bin和toolbox两个子目录,
其中在binwin32目录下就是数学库和图形库脱离MATLAB运行所需的所有动态连接库,共
有37个。可以将这些.dll考入system32, 也可以直接放在应用程序目录下。
而toolbox目录则必须与应用程序同一目录。

方法二:
matlab编程很方便,强大的矩阵运算功能,很多好用的工具箱,但是一般程序都要在matlab环境中运行,能否脱离这个环境打包发布,matlab也提供了这样的工具。
1. 转化为c/c++程序并编译为.exe
先验证mcc是否可用,用matlab中的example验证即可。
建议不用matlab默认的lcc 编译器(可能有问题),可使用VC6编译器(按默认路径安装)。
由于带有界面,需要图像库支持,编译时应使用命令: mcc -B sglcpp pressure
编译生成若干c/c++源码,以及.exe文件、bin目录中figure菜单条/工具条文件(.fig)等
程序发布需要.exe、bin、.fig。
2. 在未装matlab的电脑上运行程序需要数学运行时库、图像运行时库以及用到的工具箱mex文件。
前两者已经在matlabexternlibwin32mglinstaller.exe压缩包中,将其解压,并在环境变量path中添加解压到的路径。
另外若程序中还用到其他工具箱的东西,那么需要将此工具箱中需要的mex文件也一并放在解压到的路径,子文件夹位置与matlab中的位置相同。
3. 在确保.exe程序可以运行的情况下 可以用setup factory打包发布。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-07-21
1.设置编译器:在确定安装好Matlab Compiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入:Mbuild –setup, 按提示选择matlab自带编译器LCC。2.将脚本编译为可执行文件:如项目文件包含:gui.m, gui.gif, fun1.m。在此路径下命令行输入:mcc –m gui.m,生 成:mccExcludedFiles.log,ReadMe.txt,gui.ctf,gui.prj,gui_main.c,gui_mcc_component_data.c,gui.exe。其中:gui.ctf,gui.exe为脱离matlab环境运行必需的文件。3.在未安装matlab的机器上运行可执行程序。将R22007b\toolbox\compiler\deploy\win32中的MCRinstaller.exe安装到该计算机上,将生成可执行程序脱离matlab运行所需的函数库。将2中生成的gui.ctf,gui.exe拷贝到该计算机同一路径。运行gui.exe将生成gui_mcr文件夹,包含程序运行所需的库。至此完成。4.去除独立可执行程序运行时的“DOS黑窗口”。以上生成的exe程序运行时首先弹出一个DOS界面窗口,如果不需要其输出数据和错误信息,可将其去除。matlba命令行输入:cd(prefdir) edit compopts.bat此时compopts.bat打开,在文件最后添加:set LINKFLAGS=%LINKFLAGS% -subsystem windows 如果程序比较复杂,易出现异常,则不建议去除这个dos窗口以便调试。另外,这个办法是适用于你用的编译器为LCC,如果是其他的,那么所加语句有所不同Microsoft Visual C/C++: set LINKFLAGS=%LINKFLAGS% /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartupBorland: set LINKFLAGS=%LINKFLAGS% -aa
第2个回答  2014-12-12
1、安装C编译器(前提是你的电脑已经安装了VC)
>> mbuild -setup
2、在MATLAB中,将M文件编译成exe(可执行)文件
定位于包含meun.m,meun.fig的文件路径下。在command windows下输入:
>> mcc -B sgl GUI1.m GUI2.m GUI3.m
有几个m文件就加几个
第3个回答  2013-07-21
Matlab Compiler是随matlab一起安装的么??我怎么第一步就报错了呢??>> Mbuild –setupWarning: Could not find an exact (case-sensitive) match for 'Mbuild'.D:\Program Files\MatLab\toolbox\compiler\mbuild.m is a case-insensitive match and will be used instead.You can improve the performance of your code by using exactname matches and we therefore recommend that you update yourusage accordingly. Alternatively, you can disable this warning usingwarning('off','MATLAB:dispatcher:InexactCaseMatch').This warning will become an error in future releases. D:\PROGRA~1\MATLAB\BIN\MEX.PL: Error: '–setup' not found. ??? Error using ==> mbuild at 193Unable to complete successfully.谁能帮我解释一下
第4个回答  2013-07-21
谢谢~~~~~~~~~~搞定啦,但是DOS框框删不了