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
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
原创免费运动检测及测速GUI-GUI生成.zip 运动检测及测速GUIdemo详解涉及内容: 1.GUI主--子界面设计:主界面GUI启动子界面GUI    更改程序图标icon 2.GUI转化为可执行程度:用matlab自带编译工具deploytool对程序进行编译   隐藏exe程序运行时的dos黑窗   用deploytool对编译程序进行打包 3.基于图像处理的运动目标检测及测速:道路背景重建 运动车辆检测 运动跟踪及测速 内容详细说明:上篇:GUI制作 1.有两个GUI程序motion_detection.m和MotionDection2010.m,要实现的功能是打开motion_detection.m登录界面,点击其中的enter进入MotionDection2010.m界面进行运动目标检测及测速操作。 1.JPG 可以看到,在子GUI中的图标icon改为了QQ图标。 2.对主GUI进行mcc编译,mcc –m motion_detection.m。不需要编译其他文件。编译完成后会出现: 3.JPG 3.在command中输入deploytool,注意此处的命令不同于以往的comtool. 4.JPG 在deploytool中打开当前文件目录中的motion_detection.prj工程文件,并添加其它所需文件,如图编译完成后可随意修改(不知道什么原因,我自己修改名字之后,编译后不能运行) 7.JPG 将两个GUI所需要的文件拖入下图的界面,Main function是主界面的M文件,其他用的的文件均放到Other files中,如果有c/c 就放入相应位置。 8.JPG 点击 9.JPG 中的 10.JPG 按钮启动编译。进入编译界面。编译完成后,出现: 11.JPG 4.也可以直接省略mcc –m这一步直接用deploytoo进行编译。编译完成后生成一个新的文件夹 12.JPG ,不要修改它的名字,编译完成后可随意修改(不知道什么原因,我自己修改名字之后,编译后不能运行)。如何程序比较简单应该不会有问题。本程序当前直接用deploytool编译,结果不能运行。并且主GUI界面的背景颜色显示不正常。新建一个工程,注意不要改名字,默认为Untitled1.prj,如果改名字,运行生成exe文件时会一闪而过(也可能是其他原因,但是不改名字就没有出现这个问题)加入编译的文件,1分钟左右,生成一个新的文件夹 。注:此过程是之前做的,所以截图是Untitled1,后面的截图是今天做的,所以是Untitled2,过程是一样的,特此说明。 13.JPG 这里是Untitled2文件夹。 14.JPG 在当前文件目录中会生成一个新的Untitled2的文件夹。里面就是编译生成文件 15.JPG 16.JPG EXE文件就可以直接运行了。5.去掉DOS黑框。论坛里讲了三种方法,首先感谢他们的贡献。个人觉得没有必要去掉黑框,因为看不到程序运行情况,不便于调试。另外,cd;edit compopts.bat的方法,经过尝试在本程序中运行主界面后后续程序不能运行,可能是程序本身的问题。我改用为suppress的方法。将suppress.exet 和suppress.ini按照它的要求修改后。对我们生成的GUI,即Untitled2.exe程序新建快捷方式,然后可以更换其图标icon,方法是点右键—属性—更改图标 17.JPG 18.JPG 6.做完exe后,可以对其进行打包成自解压的安装文件。论坛里的朋友介绍了几种用第三方安装程序制作软件,方法都非常好,但是好像不能自解压matlab Runtime MCRInstaller.exe,这里再介绍一种新方法,可以在deploytool中的 19.JPG package按钮对生成的程序进行打包,生成一个****pkg.exe文件,使用时双击安装即可,里面包含了matlab MCRInstaller.exe,不必重新安装(在无matlab的电脑上)。 20.JPG 打包完成后,后新增一个motion_detection_pkg.exe的打包安装文件,将这个文件拷贝到没有安装matlab的电脑上直接安装就能运行。不需要另外再安装matlab runtime. 21.JPG 下篇:运动检测及测速 1.输入起始图像序列,并可以启动Video模式,程序绘制每一帧图像的直方图及其正态分布及核密度估计法拟合图。 22.JPG 2.重建背景 24.JPG 3.输入查看帧,调节相应的参数,观察图像变化。 25.JPG 4.绘制运动轨迹并计算速度。程序没有对图像进行标定,这里计算的速度没有实际价值。 26.JPG 5.Undo可以清空当作轨迹,重新进行操作。 27.JPG

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值