Matlab+Deploy工具的使用--Matlab生成可执行文件

合集下载

Matlab生成P文件及exe文件方法

Matlab生成P文件及exe文件方法

1.Matlab生成P文件方法:P文件是对应M文件的一种预解析版本(preparsed version)。

因为当你第一次执行M文件时,Matlab需要将其解析(parse)一次(第一次执行后的已解析内容会放入内存作第二次执行时使用,即第二次执行时无需再解析),这无形中增加了执行时间。

所以我们就预先作解释,那么以后再使用该M文件时,便会直接执行对应的已解析版本,即P文件。

但又因为Matlab的解析速度非常快,一般不用自己作预解析。

只有当一些程序要调用到非常多的M文件时,如GUI 应用程序时,才会作预解析,以增加以后的调用速度。

P文件可以用来作保密代码之用,如果你给别人一个M文件,别人可以打开来看到你所有的代码和算法。

如果你的代码不想被别人看到,那可以给他P文件。

pcode函数也可以应用在M函数文件。

Matlab命令:pcodepcode funpcode *.mpcode fun1 fun2 ...pcode... -inplaceDescriptionpcode fun obfuscates (i.e., shrouds) M-file fun.m for the purpose of protecting its proprietary source code. The encrypted M-code is written to P-file fun.pin the current directory. The original M-file can be anywhere on the search path.If the input file resides within a package and/or class directory, then the same package and class directories are applied to the output file. See example 2, below.pcode *.m creates P-files for all the M-files in the current directory.pcode fun1 fun2 ... creates P-files for the listedfunctions.pcode... -inplace creates P-files in the same directory as the M-files. An error occurs if the files cannot be created.2.Matlab编译生成exe可执行文件1、首先要保证你的程序是函数型的,而不是脚本形式的。

Matlab编写的程序生成EXE可执行文件的方法

Matlab编写的程序生成EXE可执行文件的方法

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生成dll 分享

matlab生成dll 分享

一、生成独立可执行的程序(exe文件)步骤
1. mex -setup; 选择编译器vc6.0
2. mbuild –setup;选择vc6.0
3.mcc -m filename;filename为已经存在的filename.m 。

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编译

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编译器的使用

MATLAB编译器的使用

MATLAB编译器的使⽤MATLAB 编译器的使⽤MATLAB 编译器(相应命令为 mcc)可⽣成独⽴应⽤程序、库、COM 对象、Excel 插件,218 MATLAB 实⽤教程它根据⽬标类型⽣成合适的包装器⽂件。

包装器⽂件包含编译后的应⽤程序和可执⾏对象类型之间的接⼝,具有下⾯⼀些功能。

z 完成包装器指定的初始化和终⽌运⾏⼯作。

z 定义包含路径信息、加密密匙和 MATLAB 组件运⾏时(MCR)所需其他信息的数组。

z 提供传递接⼝函数。

MATLAB 编译器⽣成的组件技术⽂件(CTF)与最后⽣成的⽬标类型(可执⾏程序或库)是独⽴的,包装器⽂件提供了与⽬标类型的必要接⼝。

1.环境配置mcc 命令具有将 m ⽂件编译⽣成 exe ⽂件或 cpp ⽂件等许多编译功能,使⽤ mcc 命令之前必须进⾏环境配置。

mbuild 是 MATLAB 提供的常见编译命令,在命令窗⼝输⼊命令“mbuild- setup”完成配置,配置时第⼀个问题可选“n”,编译器可选⽤“Microsoft Visual C/C++ version6.0”。

mex 的配置将在 11.5 节中讲述。

2.mbuild 命令使⽤命令 mbuild 可对已有 C ⽂件或 C++⽂件进⾏编译,编译⽣成的 obj ⽂件可直接双击运⾏。

⽐如,要对⽂件 good.c 和 good.cpp 进⾏编译,可在命令窗⼝分别输⼊命令“mbuild – c good.c”和“mbuild – c good.cpp”。

3.mcc 命令使⽤ mcc 命令可⽣成独⽴可执⾏⽂件或 C 共享库。

⽐如,根据⽂件 file1.m 和 file2.m ⽣成独⽴可执⾏⽂件使⽤命令“mcc – m file1.m file2.m”,⽽根据⽂件 file1.m 和 file2.m ⽣成 C共享库使⽤命令“mcc – l file1.m file2.m”。

其他命令可参阅 MATLAB ⾃带的帮助⽂档。

Matlab生成.exe可执行程序

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--Matlab生成dll、库文件和头文件方法(win10+VS2015+Ma。。。

Matlab--Matlab生成dll、库文件和头文件方法(win10+VS2015+Ma。。。

Matlab--Matlab⽣成dll、库⽂件和头⽂件⽅法(win10+VS2015+Ma。

MATLAB具有很⾼的计算性能,在该平台上很多算法易于实现,⽽有时需要使⽤C++调⽤Matlab编写的程序,可以将该函数编译成dll库⽂件,之后在C++中对其进⾏调⽤。

本⽂详细讲解在Matlab中将函数编译成库⽂件,并在C++中进⾏调⽤的⽅法。

Matlab编译⾸先,matlab中写好函数第⼀步:在matlab的命令⾏窗⼝中输⼊mex -setup,会出现以下界⾯。

第⼆步:点击界⾯的“mex -setup C++”,会出现如下提⽰。

以上两步说明Matlab的编译环境可⾏,并且是使⽤VS2015进⾏编译。

不同版本的matlab使⽤的编译器可能不同,请确保matlab配置的编译器与之后使⽤的C++环境保持⼀致。

第三步:对matlab的函数进⾏编译。

注意:这⾥只能对matlab的function进⾏编译,并不能对⼀般的.m脚本进⾏编译。

我们采⽤mcc的⽅式进⾏编译,命令如下:mcc -W cpplib:testmat -T link:lib testmat.m -C解释:-W是控制编译之后的封装格式;cpplib是指编译成C++的lib,如果需要编译成C的lib,就⽤lib即可,去掉cpp;cpplib后⾯的是需要⽣成⽂件的⽂件名,是⾃⼰取的,我们取名为testmat;-T表⽰⽬标,link:lib表⽰要连接到⼀个库⽂件的⽬标,⽬标的名字即是.m函数的名字。

其他具体含义可以通过mcc –help命令查看,注意参数的⼤⼩写。

第五步:等待matlab进⾏编译,这个过程可能需要⼏分钟。

编译完成后的命令⾏显⽰如下信息:需要⽤到的⽂件只有四个:testmat.ctf,testmat.dll,testmat.lib,testmat.h。

PS:使⽤上述⽅法时,我第⼀次成功了,后边同样的操作⼀直失败,报错如下图:查了很久也没有找到原因,在Matlab Answers⾥看到⼀个问答,有个回答如下:⼤概意思就是把主编译⽂件.m放在matlab主程序⽂件夹内(我试了不⾏..),或者使⽤deploytool,这个⼯具可以⽣成特定⽂件夹内.m⽂件dll等库的功能。

将matlab程序编译成exe文件并打包的最简单方法

将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

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”这个路径添加到该计算机的环境变量中,通常是⾃动加载。

matlab-exe可执行文件

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 ,并且需要在电脑上设置一下,由于并未实践过,此处不详细讲解。

MATLAB中的GUI生成可执行文件EXE的简易方法

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文件

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文件。

Matlab编写的程序生成EXE可执行文件的方法

Matlab编写的程序生成EXE可执行文件的方法

Matlab‎生成EXE可‎执行文件1、M文件生成可‎执行文件1.1、Run timese‎r ver的配‎置执行这个命令‎要在命令提示‎符下进入%matlab‎%\toolbo‎x\runtim‎e\bin\win32目‎录。

输入:rtsetu‎p-f %matlab‎%\bin\win32\matlab‎.exe –s **** 。

这儿****代表你输入的‎N个数字或者‎字母,它将作为未来‎开发的应用程‎序的密码用来‎识别不同的文‎件是否出自同‎一程序。

在正常情况下‎,执行完这居命‎令以后,dos不会有‎任何提示符。

1.2、编写在mat‎l ab中运行‎的程序1.3、编写配置文件‎把toolb‎o x\runtim‎e\下面的两个模‎板文件mat‎l abrt_‎t empla‎t e.m,和pathd‎e frt_t‎e mplat‎e.m文件修改程‎自己的 matlab‎r t.m和 pathde‎f rt.m文件。

1.4、编译生成p文‎件把你要编译的‎源程序放在t‎o olbox‎\local目‎录下一个子目‎录中,然后把这个目‎录设为mat‎l ab的当前‎目录――一定要保证这‎一点。

在matla‎b中输入如下‎命令:[LOG, DEPFUN‎O UT, PCODEO‎U T] = BUILDP‎({‗matlab‎r t‘});如果出现BU‎I LDP finish‎e d but there may be file(s) with either‎proble‎m symbol‎s or EVAL-like constr‎u cts. Check BUILDP‎log for detail‎s. 。

这是很正常的‎,很多时候都会‎出现这个提示‎。

输入:Depfun‎o ut{1}把它的内容拷‎到toolb‎o x\runtim‎e\oem\的list.txt中去(如果没有li‎s t.txt则新建‎).1.5、打包,发布退出matl‎a b,打开命令提示‎符,到toolb‎o x\runtim‎e\oem下,执行pack‎e ge。

2016年度精品--matlabGUI程序转换成exe可执行文件

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.遇到某些函数不能使用的问题。

将m文件生成exe文件的一种方法

将m文件生成exe文件的一种方法

将m文件生成exe文件的一种方法最近做了一个matlab用户图形界面,昨天晚上突然想到能不能将matlab的m文件生成独立运行的exe文件呢?我们知道,用C编写的程序是可以独立发布的,我记得PPT有个功能,就是通过一个简化的应用程序,可以在没有安装PPT的机器上面运行PPT,我搜到的将m 文件生成exe文件的方法大概类似于PPT这样的方式,经过测试,在matlab的2007b版本中可以运行。

在matlab的主窗口中输入deploytool,出现如图1所示的Deployment Tool界面,点击左侧窗口左上角的Creat a new deployment project,出现如图2所示的新建工程选项,选择MATLAB Compiler->Standalone Application,在图2下方填入工程名称和保存路径,点击OK 后出现如图3所示界面,使用菜单栏中的Add File在其中添加主函数和其他函数。

注意图4中下方的Settings,点击进去,在Packaging中勾选Include MATLAB Component Runtime(MCR),如图5所示。

图1Deployment Tool界面图2新建工程文件图3Add File图4添加主函数和其它函数图5setting设置以上完成后,在图3的菜单栏中选择Build the project进行编译,在首次进行编译的时候需要进行编译器的选择,在主窗口中输入mbuild–setup出现如图6所示的编译器选择界面,我们选择matlab自带的Lcc编译器即可,这样一直输入y和1即可,编译器选择好之后再编译,过程需要1分钟左右,出现如图7所示的界面,编译成功。

图6编译器选择界面图7编译结果提示界面图8src文件内容好了,经过以上步骤,打开工程文件所在路径,会发现多了一个以工程名命名的文件夹,里面有个src文件,内容如图8所示。

其中的cc0.exe文件即为可执行文件。

MATLAB生成可执行文件

MATLAB生成可执行文件

MATLAB生成可执行文件(.exe文件)2021-07-28 14:59:25| 分类:matlab学习要将用Matlab语言编写的函数文件编译成可独立执行的*.exe文件(即可离开Matalab环境的执行程序),首先要安装和配置好Matlab Compiler,一般来讲,在安装Matlab时就已经安装了相应版本的Matlab Compiler。

只是不同版本的Matlab,其编译器的利用方式有必然的差别,这一点要引发必然的注意。

在肯定安装好Matlab Compiler后,还需要对Compiler进行适当的配置,方式是在Matlab命令窗口输入:Mbuild –setup然后按照提示执行相应的操作,利用者可按照自己计算机中现有编译器的情况选择适合的编译器,如VC++ 6.0、VC++7.0、Bland C的编译器等,目前Matlab好象还不支持VC++8.0(我计算机安装的就是VC++2021,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的计算机上执行编译后的程序,首先要将MATLAB701toolboxcompilerdeploywin32中的MCRinstaller.exe安装到该计算机上(7.0 以前的版本是mglinstaller.exe)。

将matlab中的GUI快速生成可执行exe

将matlab中的GUI快速生成可执行exe

如何将gui生成exe方法一:更改图标:在OpeningFcn中加入:javaFrame = get(hObject,'JavaFrame');javaFrame.setFigureIcon(javax.swing.ImageIcon('cal.jpg'));已有gui.m文件和gui.fig文件1 在matlab的command窗口中输入mcc -B sgl GUI.m2.将上步生成的文件包括*m 文件和*.fig文件一起考到待运行的机器此时仍需matlab所必需的动态连接库。

3. 将 <matlab path >/extern/lib/win32/mglinstallar.exel拷贝到到待运行机器上如果是7.0以上版本,应该是MCRInstaller.exe,路径:<matlabpath>\toolbox\compiler\deploy\win32\MCRInstaller.exe4.在机器上先运行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.Get(HKEY_CURRENT_USER, "Environment", "path", true); if strPath ~= "" thenstrPath = String.Concat(strPath, ";");endstrPathToAdd = SessionVar.Expand("%AppFolder%");strPathToAdd = String.Concat(strPathToAdd,"//MATLAB6p5//bin//win32"); -- 如果路径中无该位置,则加入if String.Find(strPath,strPathToAdd) == -1 thenstrPath = String.Concat(strPath, strPathToAdd);Registry.Set(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看帮助。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab Deploy工具的使用--Matlab生成可执行文件
通常编写的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++编译器编译成可执行文件或者控件库。

在Matlab 2007a 中Deploy Tool其实是一个MCC的前端界面(用MCC的命令行参数一样可以完成编译工作)
下面是用Deploy Tool来编matlab工程。

首先创建prj工程,从菜单中定位到“New”-》“Deployment Project” 然后会提示选择类型
然后添加文件
接着你就可以编译了
第一次编译会让你去选择C/C++编译器,运行mbuild -setup 之后matlab会自动搜索系统所安装的C/C++编译器,
然后让你给出选择,matlab自带了LCC编译器,不过可以使用VC的编译器。

选择好了之后你就可以编译了,编译之前你可以设置工程属性,例如通用设置:
可以指定生成的中间文件的路径,编译选项,等等,你还可以设置选择针对哪些工具箱进行扫描:
当然你还可以手动设置C/C++编译器路径,头文件、库文件目录,警告等级等
不过想要你的程序在没有安装Matlab的机器上运行,还有一点要注意,就是Matlab编译出来的程序需要用到Matlab的一些包括但不限于数学、图形等动态链接库,这些是你的程序必要的运行时环境,你可以拷贝
(MatlabDIR)\ toolbox\\toolbox\compiler\deploy\win32\MCRRegCOMComponent.exe
到目标机器安装,然后就有了运行时环境,当然使用Deployment Tool工具可以设置自动打包这个运行时,具体在设置页勾选“Include MATLAB Comptent Runtime(MCR)”:
并且包含你需要用到的资源文件,图片,html等等。

然后就可以打包发布程序了。

相关文档
最新文档