matlab程序如何生成可执行文件
- 格式:doc
- 大小:26.00 KB
- 文档页数:2
利用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文件。
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生成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),还有应用程序的名称。
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文件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中的gui时,我们都是生成一个fig文件和一个m文件的,但是如果我们要生成独立的应用程序,就是exe程序时,最后让它把两个文件合成一个文件,这样容易生成。
方法是在figure窗口中点击file下的export就行了,生成默认文件名为×_export.m文件。
(比如a_export.m) 然后我们需要安装matlab complier,如果你已经安装就直接运行mcc -m a_export.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] None Compiler: 如果你机器上有vc++之类的编译器的话,也会被列出来的,我电脑上没有,所以只有一个matlab自带的编译器,这里我们输入1,然后回车,出现如下:Please verify your choices: Compiler: Lcc-win32 C 2.4.1 Location: D:/MATLAB/R2007b/sys/lcc Are these correct?([y]/n): 然后输入y,表示确认就行了,出现安装成功信息,如下:Trying to update options file: C:/Documents and Settings/FreeFly/Application Data/MathWorks/MATLAB/R2007b/compopts.bat From D:/MATLAB/R2007b/bin/win32/mbuildopts/lccco template: mpp.bat Done . . . PS:如果想把生成的exe程序在其他没有matlab的机子上运行,需要安装MCRInstaller,可以在matlab的安装目录里面搜索到。
转载请标明:/chenyujing1234参考文章:/s/blog_4f0fc2700100moj2.html一、生成独立可执行的程序(exe文件)步骤1、安装编译器。
可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我基于VS 2005实现。
MATLAB编译器1、产生C源码,并进而生成MEX文件。
这种MEX文件的优点是:一,当程序变量为实数,或向量化程度较低,或含有循环结构时,采用该法可提高运行速度;二,与ASCII码的M文件不同,MEX文件采用二进制代码生成,能更好地隐藏文件算法,使之免遭非法修改。
2、产生C或C++源码,以便与其他C/C++模块结合行成独立的外部应用程序。
运行所产生的应用程序,无需MATLAB环境的支持,但是往往需要MATLAB提供的C/C++数学库;如果调用了MATLAB绘图指令,则还需要MATLAB提供的C/C++图形库3、产生C MEX的S函数,与Simulink配合使用,以提高S-函数的运行速度4、产生C 共享库(动态链接库)或C++静态库,他们的使用无需MATLAB环境的支撑,但是需要MATLAB的数学库局限性1、无法编译脚本文件2、不支持用户自定义对象3、不支持eval,input,inline等函数4、不支持的MATLAB的Java接口2、设置编译器。
在matlab命令行输入mbuild –setup以及mex –setup,选择安装的c编译器。
[cpp]view plaincopy1.>> mbuild -setup2.Please choose your compiler for building standalone MATLAB applications:3.4.Would you like mbuild to locate installed compilers [y]/n? y5.6.Select a compiler:7.[1] Lcc C version 2.4 in D:\MATLAB701\sys\lcc8.[2] Microsoft Visual C/C++ version 7.0 in C:\Program Files\Microsoft VisualStudio .NET9.[3] Microsoft Visual C/C++ version 6.0 in D:\Microsoft Visual Studio10.11.[0] None12.piler: 214.15.Please verify your choices:16.piler: Microsoft Visual C/C++ 7.018.Location: C:\Program Files\Microsoft Visual Studio .NET19.20.Are these correct?([y]/n): y21.22.Try to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R14\compopts.bat23.From template: D:\MATLAB701\BIN\WIN32\mbuildopts\msvc70compp.bat24.25.Done . . .26.27.28.--> "D:\MATLAB701\bin\win32\mwregsvr D:\MATLAB701\bin\win32\mwcomutil.dll"29.30.DllRegisterServer in D:\MATLAB701\bin\win32\mwcomutil.dll succeeded31.32.--> "D:\MATLAB701\bin\win32\mwregsvr D:\MATLAB701\bin\win32\mwcommgr.dll"33.34.DllRegisterServer in D:\MATLAB701\bin\win32\mwcommgr.dll succeeded35.36.>>3、调用编译器。
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文件并打包的最简单方法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。
方法一:已有gui.m文件和gui.fig文件1 在matlab的command窗口中输入mcc -B sgl GUI.m2.将上步生成的文件包括*m 文件和*.fig文件一起考到待运行的机器此时仍需matlab所必需的动态连接库。
3. 将 <matlab path >/extern/lib/win32/mglinstallar.exel拷贝到到待运行机器上4.在机器上先运行mglinstallar.exe, 然后选择解压目录,将在将在指定目录下解压缩出bin和toolbox两个子目录,其中在bin\win32目录下就是数学库和图形库脱离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\、.fig2. 在未装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%--------------------------------------------------------------------------------------方法三:在网上搜了一个方法,还没有用过,贴在这里仅供参考:一、完全可以,而且生成的.exe文件可以在没有安装matlab的机器上使用,方法吗---首先,使用mcc编译得到.exe文件,具体参数见帮助文件;其次,将.exe文件及相关资源文件以及一个称为mglinstaller.exe的软件包一起拷到别的机器上,运行mglinstaller.exe,并添加环境变量path,即可执行.exe文件第三,在MATLAB环境,执行命令mcc -m -B sgl file.m或者 mcc -p -B sglcpp file.m请键入help mcc看帮助。
MATLAB打包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、安装\toolbox\compiler\deploy\win32⽬录下的MCRInstaller。
⼆、脱离matlab运⾏可执⾏程序MCR是由matlab的运⾏环境,占⽤不到300M的对于⽤不同matlab版本⽣成的exe⽂件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR⼀起打包。
MCR环境的设置⽂件存放⽬录如下:\toolbox\compiler\deploy\win32⽂件名为MCRInstaller.exe。
可将其拷贝到⾃⼰的⽂件夹中,(7.0以前的版本是mglinstaller.exe)。
在MATLAB⾥运⾏可执⾏程序的办法是在前⾯加⼀个!,⽐如:!picshow,后缀名可有可⽆。
在其它没有安装matlab的机器上运⾏exe⽂件前:⾸先安装matlab的运⾏环境。
在同⼀机器上可以并存不同版本的matlab环境(换句话说不同版本不兼容)。
其次是要将“MCRinstaller.exe安装⽬录\runtime\win32”这个路径添加到该计算机的环境变量中,通常是⾃动加载。
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将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文件夹下有卸载程序来源:。
matlab gui 生成独立可执行的程序 MCRinstaller.exe
2009-05-10 03:03 P.M.
一、生成独立可执行的程序(exe文件)步骤
1、安装编译器。
可有多种选择,本机安装的是microsoft visual c++ 6.0;
2、设置编译器。
在matlab命令行输入mbuild -setup,选择安装的c编译器;
3、调用编译器。
输入mcc -m filaname,filaname为要转成exe的m文件;
在以前的版本中,用编译命令mcc -B sglcpp filaname;自2006的版本后,替换为mcc -m filaname;
4、安装MATLAB7\toolbox\compiler\deploy\win32目录下的MCRInstaller。
二、脱离matlab运行可执行程序
MCR是由matlab的运行环境,占用不到400M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。
MCR环境的设置文件存放目录如下:
\MATLAB\R2007a\toolbox\compiler\deploy\win32
文件名为MCRInstaller.exe。
可将其拷贝到自己的文件夹中。
在其它机器上运行exe文件前,首先安装matlab的运行环境。
在同一机器上可以并存不同版本的matlab环境。
Note: 将MCRInstaller.exe拷贝到你文件所在文件夹里,用打包程序来打包,生成安装文件,设定在解包过程中自动执行MCRInstaller.exe,同时将可执行文件的图标放在桌面。
matlab runtime编译Matlab Runtime 是由 MathWorks 公司提供的一个独立的可执行文件,它允许用户在没有安装 Matlab 的情况下运行已编译的 Matlab 应用程序。
这意味着用户可以在没有 Matlab 软件的计算机上运行由 Matlab 编写的程序,从而避免了对 Matlab 软件的依赖性。
Matlab Runtime 的主要作用是将 Matlab 代码编译为独立的可执行文件,使得用户可以在没有 Matlab 软件的环境中运行这些程序。
这对于需要与 Matlab 代码交互的用户来说非常有用,因为他们可以将 Matlab 代码打包成一个独立的应用程序,然后将其分发给其他人使用,而不需要他们安装 Matlab 软件。
使用 Matlab Runtime 进行编译的过程非常简单。
首先,用户需要将他们的 Matlab 代码保存为一个独立的函数或脚本文件。
然后,他们可以使用 Matlab Compiler 将这些代码编译成可执行文件。
编译过程会生成一个独立的可执行文件,其中包含了 Matlab 代码以及 Matlab Runtime 所需的所有依赖文件。
这样,用户就可以将这个可执行文件分发给其他人使用,而不需要他们安装 Matlab 软件。
Matlab Runtime 的使用范围非常广泛。
它可以用于各种各样的应用程序,包括科学计算、数据分析、图像处理、机器学习等领域。
无论是学生、科研人员、工程师还是企业用户,都可以受益于 Matlab Runtime 的使用。
值得注意的是,由于 Matlab Runtime 是一个独立的可执行文件,它并不包含 Matlab 软件的所有功能。
因此,在编译 Matlab 代码时,用户需要确保他们的代码不依赖于 Matlab 软件中的特定功能,而是只使用 Matlab 的核心功能。
这样,才能确保编译后的可执行文件可以在没有 Matlab 软件的环境中正常运行。
Matlab和LaTeX是两种在学术界和工程领域广泛使用的软件工具。
Matlab是一种专门用于数学计算、数据分析和数据可视化的软件,而LaTeX是一种用于排版学术论文、报告和书籍的标记语言。
在实际应用中,有时候需要将Matlab生成的数据或图表以及LaTeX编写的文档进行整合,这就需要使用Matlab和LaTeX编译。
一、Matlab编译Matlab编译指的是将Matlab代码转换成可执行的程序或者生成特定格式的文件的过程。
在Matlab中,编译主要有两种方式:一种是通过Matlab自带的编译器将Matlab代码转换成可执行的独立应用程序;另一种是通过Matlab生成特定格式的数据文件,比如.mat格式的数据文件或者图形文件。
1. 使用Matlab编译器生成可执行应用程序Matlab自带了MATLAB Compiler工具箱,可以将Matlab代码编译成可执行的应用程序,这样即使没有安装Matlab的电脑也可以运行Matlab程序。
编译成的应用程序可以在Windows、Mac和Linux等操作系统上运行,同时也可以在一个独立的运行时引擎中运行,而无需安装完整的Matlab。
通过Matlab编译器生成的应用程序可以实现一些特定的功能,比如数据分析、图形绘制等,因此在工程实践中得到了广泛的应用。
2. 生成数据文件或图形文件除了生成可执行的应用程序外,Matlab还可以生成特定格式的数据文件或图形文件,比如.mat格式的数据文件、图片文件或视瓶文件。
这些文件可以被其他软件以及编程语言调用和处理,比如C、C++、Python等。
通过Matlab生成的数据文件可以在其他评台上进行进一步的分析和处理,有助于扩展Matlab在工程领域的应用范围。
二、LaTeX编译LaTeX是一种用于排版学术论文、报告和书籍的标记语言,它是基于TeX的排版系统,并且在学术界得到了广泛的应用。
LaTeX编译指的是将LaTeX源文件转换成最终的文档形式,包括PDF、DVI等格式。
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.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程序如何生成可执行文件
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环境(换句话说不同版本不兼容)。
其次是要将“MCRinstaller.exe安装目录\runtime\win32”这个路径添加到该计算机的环境变量中,通常是自动加载。
如果没有,也可手动安装,添加的方法是:
右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将上述路径复制到里面就可以了。
注:在安装过程中会弹出让安装Framework可以不用安装。
最后就是将编译生成的相相关文件拷贝到同一目录下,双击即可运行。
问题:目前此方法可完全运行在没有安装MATLAB以及C/C++的电脑上,但是如果是在AMD的CPU可以运行,但是不会出现任何MATLAB编译的界面。
美中不足就是,运行的时候dos的那个黑色地窗口一直存在。
下面将实现去除黑屏的办法:。