MATLAB程序封装成EXE文件
- 格式:docx
- 大小:15.18 KB
- 文档页数:2
MATLAB程序封装成EXE文件1.设置编译器:首先需要配置自己的Matlab Compiler,Matlab Compiler的作用是将程序编译成为机器可以直接执行的程序。
配置Compiler的方法是在Matlab命令窗口输入:mbuild -setup,按提示选择matlab自带编译器LCC。
实验记录:>> mbuild -setup[1] Lcc-win32 C2.4.1 in D:\PROGRA~1\MATLAB\R2007a\sys\lcc[2] Microsoft Visual C++6.0 in C:\Program Files\Microsoft Visual Studio[0] NoneCompiler:1Please verify your choices:Compiler:Lcc-win32 C2.4.1Location:D:\PROGRA~1\MATLAB\R2007a\sys\lccAre these correct?([y]/n):yTryingtoupdateoptionsfile:From template:Done . . .-->"D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwregsvrD:DllRegisterServer in D:-->"D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwregsvrD:DllRegisterServer in D:>>说明:因为我的机器上原来装有Microsoft Visual C++6.0,所以会有两个编译器,会提示你选择一个,这里选择系统自带的,也就是“1”。
2、编译已经写好的m文件说明:mywavelet.m是我写的测试文件,内容如下:function mywaveletclear all;a=[100:900];b=sqrt(a);plot(a,b);在matlab环境中编译文件,方法是:mcc-m mywavelet。
利用Matlab自带工具箱生成Dll和EXE文件想到后期开发需要用到matlab与vb或者其他语言进行编程操作,边想着如何利用matlab强大的功能,而又脱离其软件本身进行开发。
利用DLL文件与VB混编进行开发是方法之一。
本以为是一个很简单构建过程,不过还是在不经意间浪费了两天时间。
回顾整个安装过程,主要还是没有对整体进行构建,没有借鉴前人的经验啊。
构建过程中遇到很多问题。
这里简单总结一下安装过程,顺便把Matlab生成dll文件,以及打包生成EXE文件的过程做一下介绍。
我的版本好为:MATLAB R2009a一、生成独立可执行的程序(dll and exe文件)步骤1、安装编译器。
可有多种选择,本机安装的是Microsoft Visual C++ 6.0(必须装);2、设置编译器。
在matlab命令行输入mbuild -setup,选择安装的编译器为Microsoft Visual C++ 6.0;这里需要的注意的是,编译器路径,编译文件路径的选择,我选择的都是与Microsoft Visual C++ 6.0相关的默认文件夹。
在看到Done字样后,开始在Matlab中设置编译参数。
3、输入deploytool命令(其他版本可能为matcom等),出现以下界面:4、设置相关的参数。
这里可以做很多操作,如图所示,最终结果可生成可供VB调用的dll文件。
启动deploytool后将主程序放到main function里,其他子程序放到other files里,如果有c程序,则放到c/c++ files里.加入你想要编译的m文件,(要加入到自己命名的主目录下,如果还有其他非m文件,放到other files里面)按下编译器就可以编译了.编译完成后会,就会在当前目录下生成这两个文件夹distrb src5、编译的最终结果如下图所示.另外,进行打包操作.我选择了Matlab Compiler编译出可直接运行的EXE文件。
matlab程序如何生成可执行文件2010-11-01 15:07一、将matlab编译成可执行程序如何将MATLAB程序编译成独立可执行的程序?如何将编译好的独立可执行程序发布在没有安装MATLAB的电脑上?下面将一步步实现:二、生成独立可执行的程序(exe文件)步骤1、安装编译器。
可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我基于VS 2003实现。
2、设置编译器。
在matlab命令行输入mbuild –setup以及mex –setup,选择安装的c编译器。
3、调用编译器。
此处使用MATLAB下的一个GUI平台deploytool下完全实现。
在命令窗口输入deploytool即可看到。
具体使用方法请Help。
(当然,也可以输入mcc -m filaname, filaname为要转成exe的m文件)注:在以前的版本中,用编译命令mcc -B sglcpp filaname;自2006的版本后,替换为mcc -mfilaname;4、安装<matlab path>\toolbox\compiler\deploy\win32目录下的MCRInstaller。
三、脱离matlab运行可执行程序MCR是由matlab的运行环境,占用不到300M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR 一起打包。
MCR环境的设置文件存放目录如下:<matlab path> \toolbox\compiler\deploy\win32文件名为MCRInstaller.exe。
可将其拷贝到自己的文件夹中,(7.0以前的版本是mglinstaller.exe)。
在MATLAB里运行可执行程序的办法是在前面加一个!,比如:!picshow,后缀名可有可无。
四、在其它没有安装matlab的机器上运行exe文件前:首先安装matlab的运行环境。
matlab GUI程序转换成exe可执行文件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的机器上运行可执行程序。
将R2 2007b\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% -aa5.遇到某些函数不能使用的问题。
Matlab生成EXE可执行文件1、M文件生成可执行文件1.1、Run timeserver的配置执行这个命令要在命令提示符下进入%matlab%\toolbox\runtime\bin\win32目录。
输入:rtsetup -f %matlab%\bin\win32\matlab.exe –s **** 。
这儿****代表你输入的N个数字或者字母,它将作为未来开发的应用程序的密码用来识别不同的文件是否出自同一程序。
在正常情况下,执行完这居命令以后,dos不会有任何提示符。
1.2、编写在matlab中运行的程序1.3、编写配置文件把toolbox\runtime\下面的两个模板文件matlabrt_template.m,和pathdefrt_template.m文件修改程自己的 matlabrt.m和 pathdefrt.m文件。
1.4、编译生成p文件把你要编译的源程序放在toolbox\local目录下一个子目录中,然后把这个目录设为matlab的当前目录――一定要保证这一点。
在matlab中输入如下命令:[LOG, DEPFUNOUT, PCODEOUT] = BUILDP({‘matlabrt’});如果出现BUILDP finished but there may be file(s) with either problem symbols or EVAL-like constructs. Check BUILDP log for details. 。
这是很正常的,很多时候都会出现这个提示。
输入:Depfunout{1}把它的内容拷到toolbox\runtime\oem\的list.txt中去(如果没有list.txt则新建).1.5、打包,发布退出matlab,打开命令提示符,到toolbox\runtime\oem下,执行packege。
按照它的提示先后输入matlab的目录,文件列表名称(list.txt),还有应用程序的名称。
Matlab⽣成.exe可执⾏程序
由于在教学过程中需要演⽰Matlab程序,⽽教学机⼜未安装Matlab程序,因此有必要将Matlab程序⽣成.exe可执⾏程序,便于直接执⾏。
在Matlab中提供了Complier,可直接使⽤。
(⼀)什么是MATLAB Compiler?
它能够将你的matlab程序转换为⾃包含(self-contained)的应⽤程序和组件,这样你就可以将程序发放给你的终端⽤户,⽽且终端⽤户⽆需安装
Matlab就可以运⾏这些程序。
Matlab Compiler能够⽣成的应⽤或者组件包括下⾯这⼏类:
1、独⽴的应⽤程序
2、C和C++共享库(动态链接库,在Windows平台上是DLL,在Linux平台下是.so⽂件)
3、Excel插件
4、COM 和.NET对象
(⼆)MATLAB Compiler的构建过程
1、分析依赖关系
2、代码⽣成
3、创建归档⽂件(archive)
4、编译
5、链接
(三)执⾏过程
1、在Matlab的Command窗⼝下,可通过“help mcc”命令查看帮助
2、⽣成可执⾏程序:“mcc -m ××.m”,即可在当前⽬录⽣成××.exe程序
在当前⽬录⽣成可执⾏⽂件:
双击即可运⾏!
3、⽣成动态链接库:“mcc -l ××.m”,即可⽣成动态链接库。
更改matlab生成exe文件的图标更改matlab生成exe文件的图标明天项目答辩,今天又把程序折腾了一遍,最后生成exe文件,上网搜了一下把图标改成了自己选的图形。
在matlab中文论坛上有高手指出如下的做法:假设你的图标文件是:DA.ico;你想编译的m文件是:data.m 第一步:创建一个文本文件,里面写入"ConApp ICON DA.ico"第二步:把刚才的文本文件重命名为一个rc文件,如DA.rc第三步:在matlab命令窗口中键入:system(['"' matlabroot '\sys\lcc\bin\lrc" /i "' pwd '\DA.rc"']);这一步是把DA.rc和DA.ico编译到一起此时在你的当前工作目录下会生成一个名为DA.res的resource file第四步:将m文件与res文件一起编译mcc -m data.m -M DA.res这样生成的exe文件即为DA图标。
这样做是没有错误的,但是会遇到几个问题。
ico文件如何生成?我的做法是直接把jpg格式的图片用photoshop(用其它图片处理小软件都可以)改成了48*48,然后在线提交一下,就可以把生成的下载下来了。
网上说可以直接用VC新建一个资源文件,然后把图片加载到里面,保存一下就可以了,可是我木有试验成功。
新建了资源文件以后不知道怎样把已有的图片加载到里面~好多网站都可以把图片文件改成 ico文件,还是比较方便的。
再一个是生成res文件的时候,输入上面的命令后,matlab一直显示busy,无奈就回车了一下,出现下面的提示:lrc: c:\documents and settings\……\2.rc:1 No newline at end of file 后面还有两行不记得了,再次运行就只出现上面这行。
Matlab将GUI转化为exe文件,并且进行发布将自己编写的GUI文件转化为exe文件的方式有很多种,具体谈一下利用deploytool进行转化的方法。
首先在命令窗口利用mbuild -setup配置Matlab的一个编译器什么的,按照提示,选择y,然后会让你选择编译器:lcc还是Visual C++,自己选择相应的,具体如下所示:mbuild -setupPlease choose your compiler for building standalone MATLAB applications: Would you like mbuild to locate installed compilers [y]/n? ySelect a compiler:[1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2008a\sys\lcc[2] Microsoft Visual C++ 6.0 in C:\Program Files\Microsoft Visual Studio [0] NoneCompiler: 2Please verify your choices:Compiler: Microsoft Visual C++ 6.0Location: C:\Program Files\Microsoft Visual StudioAre these correct [y]/n? yTrying to update options file:C:\Users\guopanfeng\AppData\Roaming\MathWorks\MATLAB\R2008a\compopts. batFromtemplate: C:\PROGRA~1\MATLAB\R2008a\bin\win32\mbuildopts \msvc60compp.batDone . . .如上所示:我选择的是Visual Studio的编译器。
10、要将用Matlab语言编写的函数文件编译成可独立执行的*.exe文件要将用Matlab语言编写的函数文件编译成可独立执行的*.exe文件(即可脱离Matalab环境的执行程序),首先要安装和配置好Matlab Compiler,一般来说,在安装Matlab时就已经安装了相应版本的Matlab Compiler。
只是不同版本的Matlab,其编译器的使用方法有一定的差异,这一点要引起一定的注意。
在确定安装好MatlabCompiler 后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入:Mbuild–setup然后根据提示执行相应的操作,使用者可根据自己计算机中现有编译器的情况选择合适的编译器,如VC++ 6.0、VC++7.0、Bland C的编译器等,目前Matlab好象还不支持VC++8.0(我计算机安装的就是VC++2005,Matlab就无法识别)。
当然,如果你的计算机里根本就没有安装其他任何语言的编译器,也可选择Matlab自带的Lcc编译器,其实这个编译器对大多数用户已经够用了(我就是选择的Matlab自带的Lcc编译器)。
配置好编译器后,自然就是对自己编写的M文件进行编译了。
将M文件编译为独立可执行文件的语法是:>>mcc–m fun1.m fun2.m…..其中fun1就是最后的可执行文件的名称。
另外,也可通过采用命令开关-o指定编译最终目标文件的名称,如mcc–m main.m–o mrank_main,就是将编译后的文件指定为mrank_main.exe。
编译后的生成文件根据编译器的版本不同而不同。
具体的可参阅相关资料。
如果要在没有安装matlab的计算机上执行编译后的程序首先要将\MATLAB701\toolbox\compiler\deploy\win32中MCRinstaller.exe安装到该计算机上(7.0以前的版本是mglinstaller.exe)。
将matlab程序编译成exe文件并打包的最简单方法1、设置编译器(1)查看当前matlab complier 所支持的编译器类型。
>> mbuild -setupPlease choose your compiler for building standalone MATLAB applications:Would you like mbuild to locate installed compilers [y]/n? n (此处填写n)Select a compiler:[1] Lcc-win32 C 2.4.1[2] Microsoft Visual C++ 6.0[3] Microsoft Visual C++ .NET 2003[4] Microsoft Visual C++ 2005[5] Microsoft Visual C++ 2005 Express Edition[6] Microsoft Visual C++ 2008[0] NoneCompiler: 6(这里你选择你使用的编译器)***********************************注意:如果你写n之后,显示如下:[1] Lcc-win32 C 2.4.1[0] None你就选1,正常设置下去。
等结束之后,再重新开始输入:>> mbuild -setup……这次应该会显示全部。
(我遇到这种情况)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(2)设置编译器前面我选择了6([6] Microsoft Visual C++ 2008 ),回车后,显示如下:The default location for Microsoft Visual C++ 2008 compilers is C:\ProgramFiles\Microsoft Visual Studio 9.0,but that directory does not exist on this machine.Use C:\Program Files\Microsoft Visual Studio 9.0 anyway [y]/n? n(我填的是n,原因后面说)我电脑里面已经装了VC++2008,但我的VC++2008不装在这个目录下,需要我告诉电脑VC++2008的位置,所以填N。
matlab2015a打包安装成exe文件本文介绍matlab2015a将matlab源码打包成可执行的exe文件。
1.打包成exe文件任然需要matlab运行时。
为了方便,先在电脑上按住matlab运行时,否在打包出来的安装程序会让用户在网上下载matlab运行时安装。
Matlab运行时可以在matlab官网下载。
MCR_R2015a_win64_installer.exe2.在命令行界面输入:deploytool3.4.选择第一个 Application Compiler5.6.点加号选择要打包的m文件。
7.8.勾选Runtime included in package这一步是对于已经安装了matlab运行时来说的。
如果没有安装过matlab运行时,则需要选择Runtime downloaded from web,如果选择的是这个,那么在安装的时候就会就需要在网上下载matlab运行时再安装。
6. 选择安装程序log点击这个,在选择自己想要的图标7. 选择运行程序前的欢迎界面8. 展开Additional installer option9. 打包依赖文件:这个会自动生成10. 在Files installed for your end user中添加你需要的文件这些添加的文件或文件夹最终会在安装目录的application目录下11.配置完成后,点击右上角Package12.13.等待生成完毕。
14.15.生成完毕后,会自动弹出文件。
16.17.在for_redistribution文件夹中就是我们需要的安装程序了。
运行安装程序就能在18.13.安装程序双击MyAppinstaller_mcr.exe,开始安装程序安装完成后,桌面生成快捷方式安装目录:Application下是加入的文件在\uninstall\bin\win64文件夹下有卸载程序来源:。
M 文件打包为exe 文件方法一、准备工作与注意事项一、准备工作与注意事项1、请将实现同一功能的所有m 文件置为同一个文件加下,打包为一个exe 文件文件2、下文示例中的computefft.m 文件实现数据输入并将计算参数输入到plotfft.m ,plotfft.m 实现画图功能。
实现画图功能。
3、若M 文件中需生成图像,请将图像转化为数组形式,并将数组返回。
并将数组返回。
二、编辑exe 文件文件1、在Matlab 的Command Window 中输入deploytool 命令,在界面右侧出现如下窗口:2、点击左上角图标,新建工程,在弹出窗口左侧选择MA TLAB Builder JA ,同时输入工程名与保存位置,如下图所示。
工程名与保存位置,如下图所示。
界面。
编辑完成后,点击OK继续,出现Deployment Tool界面。
3、将Matlab的Current Directory定位到需转化的M文件的目录,将所需M文件拖拽到当文件夹。
如下图所示前工程下的class文件夹,即示例中的ProjectTestclass文件夹。
如下图所示4、勾选Deployment Tool 界面下方的Generate Verbose Output 选项,点击选项,生成工程。
工程生成后,Deployment Tool 中的图标变为可用状态。
在当前目录的路径下ProjectTest 文件夹中可看到distrib 和src 文件夹。
文件夹。
5、在Deployment Tool 界面中点击settings 按钮,在弹出界面左侧选择Packaging ,同时在界面中勾选Include MA Include MATLAB Compiler Runtime(MCR)TLAB Compiler Runtime(MCR),在Additional Files 窗口选择项目的\src\doc ,点击Add 按钮,添加到右边栏上完成后如下图。
将Matlab2012的GUI程序转换为
独立运行的exe程序
作者:hechuan315
Step 1:中选择Matlab Complier,该项目在APPS页面的下拉框中,如下:
Step 2:点击Matlab Complier后,会弹出新建工程文件对话框,如下:
Step 3:填写工程名称,点击ok按钮,弹出以下界面:
Step 4:点击Add main file,添加GUI程序中的m文件;点击Add files/folders 添加GUI程序中的fig文件,如下:
Step 5:点击编译按钮进行编译,如下:
Step 6:编译时间可达几分钟,编译完成后,进度条变为绿色,在编译文件夹下面会有一个exe文件,即为所需文件。
注:以上操作生成的exe文件可在matlab未运行时,独立启动运行,但所运行电脑仍必须装载matlab软件。
若想在未装载matlab软件的机器上运行,可到matlab安装目录…\MATLAB\R2012b\toolbox\compiler\deploy\win32中寻找MCRInstaller.exe(该软件大小为342M),将其拷贝到目标机器上安装即可。
碰到一些MATLAB打包的问题,在这里整理一下与大家共享。
MATLAB的程序可以打包成为dll或者exe或者com等形式供其他编译环境使用,我们知道dll以及com是不同编程环境下共享程序的常用方式,关于dll以及com的打包,后续我再介绍,这里只说一下exe打包的问题。
想要对MATLAB的程序进行打包,首先,要有个编译环境,MATLAB提供了自带的lcc编译环境,可以满足大部分程序编译的要求,但是不能够编译COM组件,因此,最好在电脑中安装另外的编译环境,比如VS。
我这里通过lcc来说明(因为我的VS还没有下载下来)。
输入命令:mbuild -setup,会出现下面的提示:Please choose your compiler for building standalone MATLAB applications: Would you like mbuild to locate installed compilers [y]/n?这里是提示选择编译器,输入y,那么会列出电脑所安装过的编译器。
Select a compiler:[1] Lcc-win32 C 2.4.1 in D:\PROGRA~1\MATLAB\R2009a\sys\lcc[0] NoneCompiler:输入y之后,上面的内容列出了电脑中安装了的编译器,我的电脑只有MATLAB一个,因此只有一项,如果安装了VS,会出现第二个选项。
这里输入1Please verify your choices:Compiler: Lcc-win32 C 2.4.1Location: D:\PROGRA~1\MATLAB\R2009a\sys\lccAre these correct [y]/n?这是确认信息,直接输入y即可。
Trying to update options file: C:\Users\李鹏\AppData\Roaming\MathWorks\MATLAB\R2009a\compopts.batFromtemplate: D:\PROGRA~1\MATLAB\R2009a\bin\win32\mbuildopts\lccco mpp.batDone . . .出现了上面的信息,则表明,编译器已经安装成功,可以进行打包了。
MATLAB中的GUI生成可执行文件EXE的简易方法在MATLAB中,我们可以使用GUIDE(Graphical User Interface Development Environment)工具来创建GUI,并将其转换为可执行文件(EXE)。
GUIDE是MATLAB中的一个可视化工具,它可以帮助我们通过拖放和设置属性的方式来创建GUI界面。
下面是一个简单的步骤指南,用于将MATLABGUI转换为EXE文件:1. 打开MATLAB并在命令窗口中输入“guide”命令,以启动GUIDE工具。
2. 在GUIDE工具中,点击“New GUI”按钮以创建一个新的GUI界面。
4.在界面上的每个组件上双击,可以设置它们的属性,例如位置、大小、文本内容等等。
还可以为按钮添加回调函数或菜单选项。
6. 在“View Code”界面中,编写与GUI交互和计算相关的MATLAB代码。
可以定义各种回调函数,用于处理按钮点击、文本框输入等用户操作。
7. 当GUI设计和编码都完成后,点击GUIDE工具中的“Save”按钮,以保存GUI界面和相关的MATLAB代码。
8. 在MATLAB命令窗口中,使用“deploytool”命令来打开部署工具。
9. 在部署工具中,点击“Add Files”按钮,选择之前保存的GUI界面和相关的MATLAB代码文件。
10. 在“Settings”选项卡中,选择所需的部署选项,例如选择生成EXE文件。
11. 在“Output Arguments”选项中,选择主函数和输入参数(如果有的话)。
12. 可以在“Installer”选项卡中,选择是否创建一个安装程序来将EXE文件打包成一个可安装的软件。
13. 点击“Package”按钮,部署工具将开始生成EXE文件。
14.当部署工具完成后,可以在指定的文件夹中找到生成的EXE文件。
通过使用以上步骤,我们可以将MATLABGUI转换为可执行的EXE文件。
matlab的GUI程序编译为可独立执行的exe文件一.安装与设置matlab的编译器在MA TLAB 命令窗口输入mbuild -setup时,若有VS2008 SP1的选项,直接选择该编译器即可。
若没有VS2008的选项,只显示如下结果:Please choose your compiler for building external interface (MEX) files:Would you like mex to locate installed compilers [y]/n? ySelect a compiler:[1] Lcc-win32 C 2.4.1 in F:\PROGRA~1\MA TLAB\R2008a\sys\lcc\bin[0] NoneCompiler:根本就没有提VC编译器的选项呀。
这是为什么呀?解决办法:解决方法很简单1、确认安装有VC2、如果安装有VC,在出现Please choose your compiler for building external interface (MEX) files:Would you like mex to locate installed compilers [y]/n?的时候输入n(你没有看错,是n)3、此时会列出matlab支持的编译器[1] Intel C++ 9.1 (with Microsoft Visual C++ 2005 SP1 linker)[2] Intel Visual Fortran 10.1 (with Microsoft Visual C++ 2005 SP1 linker)[3] Intel Visual Fortran 9.1 (with Microsoft Visual C++ 2005 SP1 linker)[4] Lcc-win32 C 2.4.1[5] Microsoft Visual C++ 6.0[6] Microsoft Visual C++ .NET 2003[7] Microsoft Visual C++ 2005 SP1[8] Microsoft Visual C++ 2008 Express[9] Microsoft Visual C++ 2008 SP1[10] Open WATCOM C++[0] None选择安装的VC版本(我装的是VS2008)4、选择完成之后,会要求指定以前你所安装VC的安装目录The default location for Microsoft Visual C++ 2008 SP1 compilers is C:\Program Files\Microsoft Visual Studio 8, but that directory does not exist on this machine.Use C:\Program Files\Microsoft Visual Studio 8 anyway [y]/n?如果安装目录是自动搜索到的目录C:\Program Files\Microsoft Visual Studio 8 anyway,则输入y,否则输入n,然后手动输入VC安装目录.之后根据提示,如果正确就选y,然后就等安装成功的提示了~~二、程序编译我这里的所要编译的程序,包括一个fig和一个主函数m文件,以及多个子函数m文件。
Matlab生成EXE可执行文件1、M文件生成可执行文件1.1、Run timeser ver的配置执行这个命令要在命令提示符下进入%matlab%\toolbox\runtime\bin\win32目录。
输入:rtsetup-f %matlab%\bin\win32\matlab.exe –s **** 。
这儿****代表你输入的N个数字或者字母,它将作为未来开发的应用程序的密码用来识别不同的文件是否出自同一程序。
在正常情况下,执行完这居命令以后,dos不会有任何提示符。
1.2、编写在matl ab中运行的程序1.3、编写配置文件把toolbo x\runtime\下面的两个模板文件matl abrt_t emplat e.m,和pathde frt_te mplate.m文件修改程自己的 matlabr t.m和 pathdef rt.m文件。
1.4、编译生成p文件把你要编译的源程序放在to olbox\local目录下一个子目录中,然后把这个目录设为matl ab的当前目录――一定要保证这一点。
在matlab中输入如下命令:[LOG, DEPFUNO UT, PCODEOU T] = BUILDP({‗matlabr t‘});如果出现BUI LDP finishe d but there may be file(s) with eitherproblem symbols or EVAL-like constru cts. Check BUILDPlog for details. 。
这是很正常的,很多时候都会出现这个提示。
输入:Depfuno ut{1}把它的内容拷到toolbo x\runtime\oem\的list.txt中去(如果没有lis t.txt则新建).1.5、打包,发布退出matla b,打开命令提示符,到toolbo x\runtime\oem下,执行packe ge。
MATLAB程序封装成EXE文件
1.设置编译器:
首先需要配置自己的Matlab Compiler,Matlab Compiler的作用是将程序编译成为机器可以直接执行的程序。
配置Compiler 的方法是在Matlab命令窗口输入:
mbuild -setup,按提示选择matlab自带编译器LCC。
实验记录:
>> mbuild -setup
Please choose your compiler for building standalone MATLAB applications:
Would you like mbuild to locate installed compilers [y]/n? y
Select a compiler:
[1] Lcc-win32 C 2.4.1 in D:\PROGRA~1\MATLAB\R2007a\sys\lcc
[2] Microsoft Visual C++ 6.0 in C:\Program Files\Microsoft Visual Studio
[0] None
Compiler: 1
Please verify your choices:
Compiler: Lcc-win32 C 2.4.1
Location: D:\PROGRA~1\MATLAB\R2007a\sys\lcc
Are these correct?([y]/n): y
Trying to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R2007a\compopts.bat
From template: D:\PROGRA~1\MATLAB\R2007a\bin\win32\mbuildopts\lcccompp.bat
Done . . .
--> "D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwregsvr D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcomutil.dll"
DllRegisterServer in D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcomutil.dll succeeded
--> "D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwregsvr D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcommgr.dll"
DllRegisterServer in D:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcommgr.dll succeeded
>>
说明:因为我的机器上原来装有Microsoft Visual C++ 6.0,所以会有两个编译器,会提示你选择一个,这里选择系统自带的,也就是“1”。
2、编译已经写好的m文件
说明:mywavelet.m是我写的测试文件,内容如下:
function mywavelet
clear all;
a=[100:900];
b=sqrt(a);
plot(a,b);
在matlab环境中编译文件,方法是:mcc -m mywavelet。
其中mywavelet为要转成exe的m文件。
执行完毕后,会发现在MATLAB的Current Directory目录下,会出现一些新文件,注意观察^_^。
这些文件就是,编译好的文件。
这时,可以点一下exe文件,看看是否正常,显示图片否?
ok后,将它们拷到一个新文件夹下,保管好啦~
3、寻找所需要的动态链接库
在已安装Matlab机器上,找MCRInstaller.exe的文件,我的是在这个目录下:
D:\Program Files\MATLAB\R2007a\toolbox\compiler\deploy\win32\MCRInstaller.exe
不同的MATLAB版本,可能路径不一样,自己找一下。
(7.0以前的版本是mglinstaller.exe)。
找到后,把它也复制到我们保管好的文件夹中,这样我们的文件家中有两类东西,1、MCR安装程序,2、编译好的程序。
4、将保管好的文件夹移植其他的电脑上
这个电脑最好没有装MATLAB,以检查在没有MATLAB的环境下,可执行程序是否可以执行。
一般是会有问题的,因为还有很多动态链接库没有考过来,程序运行时,会找不到很多东西。
我们需要做的是,双击安装MCRInstaller.exe,安装目录就选我们当前的目录。
确保我们编译好的程序,和安装MCR之后的文件在同一目录下。
结束,点击可执行文件,应该能出现图片。
试试看。