Matlab编写的程序生成EXE可执行文件的方法
MATLAB程序封装成EXE文件
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生成可执行文件(exe)
其次是要将“MCRinstaller.exe安装目录\runtime\win32”这个路径添加到该计算机的环境变量中,添加的方法是:
右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将上述路径复制到里面就可以了。
第三步是将编译生成的相相关文件拷贝到同一目录下(当然其他目录亦可)。
Click on the link below to view an image of the Registry Editor, which shows how to delete a registry key for MATLAB 6.5 (R13).
After following these steps, you should be able to launch MATLAB successfully.
在确定安装好Matlab Compiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入:
Mbuild -setup
然后根据提示执行相应的操作,使用者可根据自己计算机中现有编译器的情况选择合适的编译器,如VC++ 6.0、VC++7.0、Bland C的编译器等,目前Matlab好象还不支持VC++8.0(我计算机安装的就是VC++2005,Matlab就无法识别)。当然,如果你的计算机里根本就没有安装其他任何语言的编译器,也可选择Matlab自带的Lcc编译器,其实这个编译器对大多数用户已经够用了(我就是选择的Matlab自带的Lcc编译器)。
If you are able to successfully launch MATLAB under a different username:
利用Matlab自带工具箱生成Dll和EXE文件
利用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生成P文件及exe文件方法
1.Matlab生成P文件方法:P文件是对应M文件的一种预解析版本(prepar sed versio n)。
因为当你第一次执行M文件时,Matlab需要将其解析(parse)一次(第一次执行后的已解析内容会放入内存作第二次执行时使用,即第二次执行时无需再解析),这无形中增加了执行时间。
所以我们就预先作解释,那么以后再使用该M文件时,便会直接执行对应的已解析版本,即P文件。
但又因为Ma tlab的解析速度非常快,一般不用自己作预解析。
只有当一些程序要调用到非常多的M文件时,如GUI应用程序时,才会作预解析,以增加以后的调用速度。
P文件可以用来作保密代码之用,如果你给别人一个M文件,别人可以打开来看到你所有的代码和算法。
如果你的代码不想被别人看到,那可以给他P文件。
pcode函数也可以应用在M函数文件。
Matlab命令:pcodepcodefunpcode*.mpcodefun1 fun2 ...pcode... -inplac eDescri ptionpcodefun obfusc ates(i.e., shroud s) M-file fun.m for the purpos e of protec tingits propri etary source code. The encryp ted M-code is writte n to P-file fun.pin the curren t direct ory. The origin al M-file can be anywhe re on the search path.If the inputfile reside s within a packag e and/or classdirect ory, then the same packag e and classdirect ories are applie d to the output file. See exampl e 2, below.pcode*.m create s P-filesfor all the M-filesin the curren t direct ory.pcodefun1 fun2 ... create s P-filesfor the listedfuncti ons.pcode... -inplac e create s P-filesin the same direct ory as the M-files.An erroroccurs if the filescannot be create d.2.Matlab编译生成e x e可执行文件1、首先要保证你的程序是函数型的,而不是脚本形式的。
Matlab.M文件编译成可执行文件.exe
Matlab.M文件编译成可执行文件.exeMatlab .M文件编译成可执行文件.exe转载:如何将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编译
MATLAB 编译器是用于将MATLAB 语言编写的函数文件编译成可独立执行的*.exe 文件(即可脱离MATLAB 环境的执行程序)的工具。
在安装MATLAB 时,通常也会安装相应版本的MATLAB Compiler。
以下是一些关于如何使用MATLAB Compiler 的步骤:
1. 打开MATLAB,然后在命令窗口中输入`mex -setup`。
2. 选择您要使用的C++ 编译器,如果您找不到编译器,可以输入`mex -setup -v` 或进入MATLAB 目录中的\bin\win64\mexopts 中查看支持的编译器xml 文件。
如果您找不到当前系统的编译器,可以进入MATLAB 官网下载对应的编译器的xml 文件。
3. 编写您的MATLAB 函数。
4. 使用`mcc` 命令将您的函数编译为可执行文件。
例如,如果您的函数名为`myFunction.m`,则可以使用以下命令将其编译为可执行文件:`mcc -o myFunction myFunction.m`。
5. 运行生成的可执行文件。
matlab生成exe应用程序
matlab生成exe应用程序通常编写的matlab程序只能在装有matlab的机械上执行,可是没有安装matlab的如何办呢那个能够利用matlab的自带工具-Deploy Tool。
Matlab的Deploy Tools 能够方便的将matlab工程编译成所支持的类型,例如一样的Windows应用程序,Matlab for .NET/COM ,Matlab for Java,Matlab for Excel 等。
其原理确实是先利用MCC 编译器依照你的m文件生成相应的c语言文件和数据文件,然后在挪用C/C++编译器编译成可执行文件或控件库。
1、安装编译器。
可有多种选择,matlab自带了一个LCC,推荐利用VC++,我基于VS 2020实现。
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;在Matlab 2007a 中Deploy Tool实际上是一个MCC的前端界面(用MCC的命令行参数一样能够完成编译工作)下面是用Deploy Tool来编matlab工程。
第一创建prj工程,从菜单中定位到“New”-》“Deployment Project” 然后会提示选择类型然后添加文件接着你就能够够编译了第一次编译会让你去选择C/C++编译器,运行mbuild -setup 以后matlab会自动搜索系统所安装的C/C++编译器,然后让你给出选择,matlab自带了LCC编译器,只是能够利用VC的编译器。
2016年度精品--matlabGUI程序转换成exe可执行文件
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可执行程序
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文件并打包的最简单方法将matlab程序编译成exe文件并打包的最简单方法1、设置编译器>> mbuild -setup[1] Lcc-win32 C2.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 C2.4.1[0] None你就选1,正常设置下去。
等结束之后,再重新开始输入:>> mbuild -setup……这次应该会显示全部。
(我遇到这种情况)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(2)设置编译器前面我选择了6([6] Microsoft Visual C++ 2008),回车后,显示如下: \ProgramFiles\Microsoft Visual Studio9.0,but that directory does not exist on this machine.Use C:\Program Files\Microsoft Visual Studio9.0 anyway [y]/n? n(我填的是n,原因后面说)我电脑里面已经装了VC++2008,但我的VC++2008不装在这个目录下,需要我告诉电脑VC++2008的位置,所以填N。
MATLAB程序封装成EXE文件
MATLAB程序封装成EXE文件1.设置编译器:首先需要配置自己的Matlab Compiler,Matlab Compiler的作用是将程序编译成为机器可以直接执行的程序。
配置Compiler 的方法是在Matlab命令窗口输入:mbuild -setup,按提示选择matlab自带编译器LCC。
实验记录:>> 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 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 C 2.4.1Location: D:\PROGRA~1\MATLAB\R2007a\sys\lccAre these correct?([y]/n): yTrying to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R2007a\compopts.batFrom template: D:\PROGRA~1\MATLAB\R2007a\bin\win32\mbuildopts\lcccompp.batDone . . .--> "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”。
matlab-exe可执行文件
1
1在command窗口输入“Mbuild -setup”(中间有空格),enter 2输入n,enter
3此处选择2,也可选1,enter
2
4
输入
y,enter
5输入y,enter
6安装matlab目录下toolbox\compiler\deploy\win32的MCRinstaller.exe(安装过程略,至于安装到哪里。
我个人是安装到matlab目录下的)
7接下来是将m文件转化成exe执行文件,在command窗口输入“mcc –m 文件名”(有空格),enter,此步骤时间比较久,直到下面fx处出现>>,则运行完成
8在安装目录下的bin文件夹里(或者m所在文件夹)会有个exe
3
9于是完成,双击可运行
【附】1
问题:第8步骤出现类似“can not find ”文件的问题
原因:没有添加路径,所以无法找到文件
解决:依次file ---set path ,然后Add Folder ,选取m 文件的文件夹位置,最后Save 即可
【附】2附上一个简单的效果图
【附】3
若要在其他电脑上运行所得的exe 文件,仍然需要安装MCRinstaller.exe ,并且需要在电脑上设置一下,由于并未实践过,此处不详细讲解。
matlab2015a打包安装成exe文件
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文件夹下有卸载程序来源:。
matlabgui程序转换成exe可执行文件
matlab GUI程序转换成exe可执行文件matlab GUI程序转换成exe可执行文件1.设置编译器:在确定安装好Matlab Compiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入:Mbuild–setup,按提示选择matlab自带编译器LCC。
2.将脚本编译为可执行文件:如项目文件包含:gui.m, gui.gif, fun1.m。
在此路径下命令行输入:mcc–mgui.m,生成:mccExcludedFiles.log,ReadMe.txt,gui.ctf,gui.prj,gui_main.c,gui.ctf,gui.exe为脱离matlab环境运行必需的文件。
3.在未安装matlab的机器上运行可执行程序。
将2中生成的gui.ctf,gui.exe拷贝到该计算机同一路径。
运行gui.exe将生成gui_mcr文件夹,包含程序运行所需的库。
至此完成。
4.去除独立可执行程序运行时的“DOS黑窗口”。
以上生成的exe程序运行时首先弹出一个DOS界面窗口,如果不需要其输出数据和错误信息,可将其去除。
matlba命令行输入:cd(prefdir)set LINKFLAGS=%LINKFLAGS% -subsystem windows如果程序比较复杂,易出现异常,则不建议去除这个dos窗口以便调试。
另外,这个办法是适用于你用的编译器为LCC,如果是其他的,那么所加语句有所不同Microsoft Visual C/C++:set LINKFLAGS=%LINKFLAGS% /SUBSYSTEM:WINDOWS/ENTRY:mainCRTStartupBorland:set LINKFLAGS=%LINKFLAGS% -aa5.遇到某些函数不能使用的问题。
我的程序中用到vpa函数,运行gui.exe出现:undefined method orfunction 'vpa' for input argument type of 'double'错误提示。
MATLAB中的GUI生成可执行文件EXE的简易方法
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可执行文件
Done . . .
--> "D:\MATLAB7\bin\win32\mwregsvr D:\MATLAB7\bin\win32\mwcomutil.dll"
DllRegisterServer in D:\MATLAB7\bin\win32\mwcomutil.dll succeeded
解决办法:
{ 因为MATLAB需要用到处理器的数学运算部分(MATLAB默认用的是INTEL的数学处理单元),故需要设置一下BLAS(Basic Linear Algebra Subroutines,就是"基础线性几何子程序"的意思)环境变量. 首先请确认你的MATLAB的文件夹中有如下文件:atlas_Athlon.dll(AMD系列的请用这个), atlas_P4.dll(P4的用这个),atlas_PIII.dll(P3的用这个),atlas_PII.dll(P2的用这个),这些是对应处理器的数值运算优化文件 }
Would you like mbuild to locate installed compilers [y]/n? y
Select a compiler:
[1] Lcc C version 2.4 in D:\MATLAB7\sys\lcc
[2] Microsoft Visual C/C++ version 6.0 in D:\Microsoft Visual Studio
matlab GUI程序转换成exe可执行文件
设置编译器:
在确定安装好Matlab Compiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入:
Mbuild –setup, 按提示选择matlab自带编译器LCC。
matlab的GUI程序编译为可独立执行的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文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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 EV AL-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),还有应用程序的名称。
在toolbox\runtime\oem下生成一个setup程序。
2、GUI生成可执行文件EXE2.1 方法一一般我们在编写Matlab中的GUI时,我们都是生成一个fig文件和一个m 文件的,但是如果我们要生成独立的应用程序,就是exe程序时,最后让它把两个文件合成一个文件,这样容易生成。
方法是在figure窗口中点击file下的export 就行了,生成默认文件名为×_export.m文件。
(比如a_export.m)(说明:如果,同时有两个GUI文件,进行这样编辑,会报错!)2.1.1、安装编译器matlab complier如果你已经安装matlab complier就直接运行mcc -m a_export.m,此步就不需要做。
安装matlab complier的过程如下:在窗口中输入:mbulid -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:\MATLAB\R2007b\sys\lcc[0] NoneCompiler:如果你机器上有vc++之类的编译器的话,也会被列出来的,这里我们输入1,然后回车,出现如下:Please verify your choices:Compiler: Lcc-win32 C 2.4.1Location: C:\MATLAB\R2009a\sys\lccAre these correct?([y]/n):然后输入y,表示确认就行了,出现安装成功信息,如下:Trying to update options file: C:\Documents and Settings\... ...\Application Data\MathWorks\MATLAB\R2007b\compopts.batFrom template:D:\MATLAB\R2007b\bin\win32\mbuildopts\lcccompp.bat Done . . .2.1.2、生成EXE文件1. 在matlab的command窗口中输入:mcc -B sgl GUI.m或者mcc -m a_export.m,将生成的文件包一起考到待运行的机器。
2. 将<matlab path >/extern/lib/win32/mglinstallar.exel拷贝到到待运行机器上。
3.在机器上先运行mglinstallar.exe, 然后选择解压目录,将在指定目录下解压缩出bin和toolbox两个子目录,其中在bin\win32目录下就是数学库和图形库脱离MATLAB运行所需的所有动态连接库,共有37个。
可以将这些.dll考入system32, 也可以直接放在应用程序目录下。
而toolbox目录则必须与应用程序同一目录。
即:如果想把生成的exe程序在其他没有matlab的机子上运行,需要安装MCRInstaller,可以在matlab的安装目录里面搜索到。
这样把这个安装到没有matlab的机子上,就可以运行生成的exe程序了。
2.2 方法二2.2.1、转化为c/c++程序并编译为.exe先验证mcc是否可用,用matlab中的example验证即可,建议不用matlab 默认的lcc 编译器(可能有问题),可使用VC6编译器(按默认路径安装),由于带有界面,需要图像库支持,编译时应使用命令: mcc -B sglcpp pressure,编译生成若干c/c++源码,以及.exe文件、bin目录中figure菜单条/工具条文件(.fig)等程序发布需要.exe、bin\、.fig2.2.2、在未装matlab的电脑上运行程序需要数学运行时库、图像运行时库以及用到的工具箱mex文件前两者已经在\matlab\extern\lib\win32mglinstaller.exe压缩包中,将其解压,并在环境变量path中添加解压到的路径另外若程序中还用到其他工具箱的东西,那么需要将此工具箱中需要的mex文件也一并放在解压到的路径,子文件夹位置与matlab中的位置相同3. 在确保.exe程序可以运行的情况下可以用setup factory打包发布以下通过注册表自动添加path路径%--------------------------------------------------------------------------------------Screen.Next(); -- 进入下一个屏幕resultDialog = Dialog.Message("注意", "向环境变量中加入matlab数学库及图象库的安装路径?", MB_YESNO, MB_ICONINFORMATION, MB_DEFBUTTON1);if (resultDialog == IDYES) then --加入安装路径strPath = Registry.GetValue(HKEY_CURRENT_USER, "Environment", "path", true); if strPath ~= "" thenstrPath = String.Concat(strPath, ";");endstrPathToAdd = SessionVar.Expand("%AppFolder%");strPathToAdd = String.Concat(strPathToAdd,"file://MATLAB6p5//bin//win32");-- 如果路径中无该位置,则加入if String.Find(strPath,strPathToAdd) == -1 thenstrPath = String.Concat(strPath, strPathToAdd);Registry.SetValue(HKEY_CURRENT_USER, "Environment", "path", strPath, REG_SZ);endend%--------------------------------------------------------------------------------------3、消除DOS窗口消除运行MATLAB生成的exe程序的dos黑屏的办法,基于MATLAB生成exe文件后,每次运行都存在dos黑屏的问题,现在可以通过以下方法解决:在命令窗口输入:cd(prefdir)edit compopts.bat在打开的文件最后添加以下语句:A.VC环境下:set LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS/ENTRY:mainCRTStartupB.LCC环境下:set LINKFLAGS=%LINKFLAGS% -subsystem windowsC. Borland:set LINKFLAGS=%LINKFLAGS% -aa保存以后,再重新编译m文件,生成的exe文件运行起来就没有dos窗口了如果你的m文件不是R2009根文件的话要吧这个bat文件拷贝到你要编译的m文件下再运行mcc编译否则也是不会消除DOS窗口的!对于2010版本上述的方法的失效,下面的方法的可以解决matlab2010生成exe消除DoS窗口最新版Matlab2010编译后用了之前的一些方法尝试消除黑框,发现无法实现。
去matlab官网看了看,上边有明确的方法/access/helpdesk/help/toolbox/compiler/f0-985134.html运行:mcc -e filename就可以了,实验成功。
教你隐去gui生成exe后,执行exe时出现的dos窗口前几天我在论坛里提了如题的问题,没有得到直接答复,但是感谢回帖,因为按照回帖的内容我找到了答案,验证了一下,可以用。
(有帖子可以下载具体操作,但我M币又不想花钱,只好自己去搞)首先,你到math的官网上/matlabcentral/fileexchange/loadFile.do?objectId=3909下载页面中的*.zip,就是页面中―download now:‖后的‗zip‘按钮。