matlab安装 一闪,Matlab生成的exe文件一闪消失

通过命令行可以知道生成的exe文件哪里有问题。

3、matlab GUI程序转换成exe可执行文件(转)

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:mainCRTStartup

Borland:

set LINKFLAGS=%LINKFLAGS% -aa

5).遇到某些函数不能使用的问题。

我的程序中用到vpa函数,运行gui.exe出现:undefined method or function 'vpa' for

input argument type of 'double'错误提示。而gui.m脚本在matlab环境可以运行。

原因:百度搜到的信息为:matlab不支持符号工具箱的编译。只好避开使用此函数。

4、Matlab画图及生成exe文件

1).画图

写个简单的.m文件是很Easy的,罗列下几个常用函数的使用方法

[示例1]:plot(X,Y,'b-','linewidth',2);

X,Y表示向量,分别代表X轴和Y轴,'b-'表示线条颜色和样式,'linewidth',2这两个参数表示线条宽度是2

[示例2]:subplot(221)或者subplot(2,2,1)

前两个数字表示子图布局,本例中2X2,第三个参数表示画在第几个区域中,先上后下,先左后右标记为1,2,3,4。

[示例3]:title('aa'), xlabel('x'), ylabel('y')

这个比较简单,标题,X轴,Y轴文字

2).生成EXE

Matlab支持将.m文件编译生成exe文件。方法如下:

a. 生成EXE:在Matlab中输入mcc -m

filename.m进行编译生成,这一步会在当前目录下生成C源码文件,并可能会询问采用何种编译器进行编译(Windows下推荐用VC的编译器)。

b.

运行环境:exe程序的运行可以脱离Matlab,但是必须安装Matlab的运行环境。MCRinstall.exe,位于安装目录的\toolbox

\compiler\deploy\win32目录下,将其复制到需要执行生成EXE的环境中,运行安装,并设置环境变量path,将

录>\runtime\win32添加到末尾(XP下应该会自动进行设置,不用添加^_^)。

c.最后将编译生成的*.exe , *.crt, *.prj文件复制到目标机器上,就可以运行了。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值