matlab生成可独立运行的exe文件

合集下载

matlab生成可执行文件(exe)

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自带工具箱生成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编写的程序生成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),还有应用程序的名称。

1.Matlab生成独立程序

1.Matlab生成独立程序
9).在Configuration Properties -> Linker -> Input -> Additional Dependencies中添加mclmcrrt.lib,testaddforcpp.lib。
10).编译,链接,生成test_matlab_4.exe文件。注意记得把testaddforcpp.dll放到生成的test_matlab_4.exe的文件夹中。否则exe文件找不到并且无法调用dll。
5).然后打开tool -> option -> Projects and Solutions -> VC++ Directories -> Include files增加matlab头文件目录地址。"C:\Program Files\MATLAB\R2009b\extern\include"。由于最近经常使用matlab,就把头文件目录添加到VC设置中。如果只是偶尔使用matlab,可以把头文件目录加到project -> test_matlab_4 properties -> C++ -> General -> Additional Include Directories中。(这里我们借用以前日志的图片。)
4).输入“testadd.exe 10 15”。注意,testadd.m函数有两个参数,而testadd.exe的输入参数只能通过commandline参数输入,但输入的参数为char型,所以程序里必须对此考虑。
5).验证输出结果。
代码附下testadd.m
function result = testadd(v1, v2)
Matlab
本文主要介绍了如何在matlab环境下,通过mcc命令,把m文件转换为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看帮助。

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中的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的安装目录里面搜索到。

matlab函数exe文件生成

matlab函数exe文件生成

转载请标明:/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、调用编译器。

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

一、生成独立可执行的程序(exe文件)步骤
1、安装编译器。

可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我用的是matlab自带的LCC;
2、设置编译器。

在matlab命令行输入mbuild –setup以及mex -setup,选择安装的c编译器。

注意“-”之前的空格!
3、调用编译器。

此处使用MATLAB下的一个GUI平台deploytool下完全实现。

在命令窗口输入deploytool即可看到。

具体使用方法请Help;
当然,也可以输入mcc -m filaname,filaname为要转成exe的m文件;
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文件
1、安装matlab的运行环境MCRInstaller。

在同一机器上可以并存不同版本的matlab环境(换句话说不同版本不兼容)。

2、要将“MCRinstaller.exe安装目录\runtime\win32”这个路径添加到该计算机的环境变量中,通常是自动加载。

如果没有,也可手动安装,添加的方法是:右击“我的电脑”“属性”“高级”“环境变量”“添加”指定一个变量名,然后将上述路径复制到里面就可以了。

(注:在安装过程中会弹出让安装Framework可以不用安装。

)
3、将编译生成的相相关文件拷贝到同一目录下,双击即可运行。

相关文档
最新文档