matlab编译器

matlab编译器和程序发布

2013-07-04 15:11 by DarkHorse, 130 阅读, 0 评论, 收藏编辑

如何把编写好的matlab程序转换成c/c++语言,如何编译m文件为可执行程序,如何在没有matlab配置环境的机器上运行你编译出来的可执行程序?

一:matlab的编译器设置

执行命令:mbuild -setup,注意中间有一个空格。

复制代码
>> 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 C version 2.4 in D:\MATLAB7\sys\lcc 
 
[0] None 
复制代码

询问是否构建本地安装的编译器,我们先选y。因为我安装的时候,并没有设置matlab的其他编译器选项,所以这里只显示了matlab默认的编译器LCC。你可以选择1,使用它提供的编译器。如果要使用其它的编译器,按n,结果如下:

复制代码
>> mbuild -setup
Please choose your compiler for building standalone MATLAB applications: 
 
Would you like mbuild to locate installed compilers [y]/n? n
 
Select a compiler: 
[1] Borland C++Builder version 6.0 
[2] Borland C++Builder version 5.0 
[3] Borland C++Builder version 4.0 
[4] Borland C++Builder version 3.0 
[5] Borland C/C++ version 5.02 
[6] Borland C/C++ version 5.0 
[7] Borland C/C++ (free command line tools) version 5.5 
[8] Lcc C version 2.4 
[9] Microsoft Visual C/C++ version 7.1 
[10] Microsoft Visual C/C++ version 7.0 
[11] Microsoft Visual C/C++ version 6.0 
 
[0] None 
复制代码

我用的matlab版本是7.0,所以只提供了这几种编译器。其中最常用的vc编译器的版本与我们使用的vs发布版本对应关系为:(摘自:http://www.cnblogs.com/mars9/archive/2012/01/13/2321710.html)

复制代码
VC6.0 —————— VISUAL STUDIO 6.0

VC7.0 —————— VISUAL STUDIO 2002

VC7.1 —————— VISUAL STUDIO 2003

VC8.0 —————— VISUAL STUDIO 2005

VC9.0 —————— VISUAL STUDIO 2008

VC10.0 —————  VISUAL STUDIO 2010
复制代码

由于我安装的的vs版本最低的是2005,而其对应的编译器为vc8.0,所以matlab2007 不支持。所以这里只提供设置的方法。

我们选择选项9:

复制代码
Compiler: 9
 
The default location for Microsoft Visual C/C++ compilers is C:\Program Files\Microsoft Visual Studio .NET 2003, 
but that directory does not exist on this machine.  
 
Use C:\Program Files\Microsoft Visual Studio .NET 2003 anyway [y]/n? n
复制代码
复制代码
Please enter the location of your compiler: [C:\Program Files\Microsoft Visual Studio .NET 2003] d:\software\Microsoft Visual Studio 8
 
Please verify your choices: 
 
Compiler: Microsoft Visual C/C++ 7.1 
Location: d:\software\Microsoft Visual Studio 8 
 
Are these correct?([y]/n): y
 
Try to update options file: C:\Users\bow\Application Data\MathWorks\MATLAB\R14\compopts.bat 
From template:              D:\MATLAB7\BIN\WIN32\mbuildopts\msvc71compp.bat 
 
Done . . . 
复制代码

这样就手动设置了vc编译器的路径,并改写matlab的编译器设置bat文件。完了以后,我们就可以用现在设置好的编译器编译M文件。

 

二:编译M文件

用到的matlab命令是:mcc

命令格式为:
mcc[-options]mifilel[mfile2…mfileN];
options为编译参数;mfilel为待编译的Matlab文件,如果包含多个Matlab文件,可以直接列在mfilel后面。
如:mcc -m ReadComAndDraw.m

执行完了以后,如果没报错,则会生成如下的目录结构:

第三个exe文件就可以执行了。最后两个是matlab将M文件转换得到的C文件。

三:发布可执行文件

上面生成的exe文件如果直接copy到没有matlab环境中的机器上运行时会报错的。因为缺少了相应的库支持。现在你要做的是:打包Matlab组件运行环境(Matlab Component Runtime,MCR)。将MCR与可执行程序一起打包,拷贝到其他没有安装Matlab的机器上,并在该机器上安装MCR,安装完毕即可以直接在该机器上运行编译的Matlab可执行程序。MCR安装文件位于:Matlab安装目录\toolbox\compiler\deploy\win32\MCRInstaller.exe
在2008版的Matlab中,已经内置了Matlab编译发布工具箱,在Matlab命令窗口中运行deploytool命令,即可以调出该工具窗口,通过该工具可以方便、快捷地编译发布Matlab程序。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值