EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
通常编写的matlab程序只能在装有matlab的机器上执行,但是没有安装matlab的怎么办呢?这个可以使用matlab的自带工具-Deploy Tool。1 `- U7 a3 X9 c+ L
7 j$ b; z' \" ~3 c8 w
Matlab的Deploy Tools 可以方便的将matlab工程编译成 所支持的类型,例如 一般的Windows应用程序,Matlab for .NET/COM ,Matlab for Java,Matlab for Excel 等。* B; {& W2 R# \& S
# T2 n3 N5 H, ?6 I; }6 Q& M: f [ 其原理就是先使用 MCC 编译器 根据你的m文件生成相应的 c语言文件以及数据文件,然后 在调用 C/C++编译器编译成可执行文件或者控件库。6 k! K% q2 V2 T: e4 h( p/ z. x
+ b' L- ` N3 {/ A9 ~, e0 U 在 Matlab 2007a 中 Deploy Tool其实是一个 MCC的前端界面(用MCC的命令行参数一样可以完成编译工作)8 l5 c1 R0 ^9 S @2 T( \: d3 T
下面是用Deploy Tool来编matlab工程。
% E' [. J4 _/ M5 R U0 @% d8 M
& ^$ z9 ^' w8 l+ {' I( M 首先创建 prj工程 ,从菜单中定位到 “New”-》“Deployment Project” 然后会提示选择类型! N6 }* h$ W+ q' }& \: S
' S7 `5 o$ Q0 K% a/ i- { 然后添加文件2 K6 A8 c) L5 p
$ M, L* J0 r4 w K6 D* b 接着你就可以编译了
\0 `: O Y9 ~/ T- c) p$ I
1 @- X5 b3 o* a0 N# \9 s6 [第一次编译会让你去选择C/C++编译器,运行 mbuild -setup 之后matlab会自动搜索系统所安装的C/C++编译器,% h" u- Q5 k, A+ I" p; |
然后让你给出选择,matlab自带了LCC编译器,不过可以使用 VC的编译器 。
: [8 u' v/ d/ Q9 A( G% s选择好了之后你就可以编译了,编译之前你可以设置工程属性,例如通用设置:
+ T0 @" W/ V$ J0 S* Z" |; s9 v可以指定生成的中间文件的路径,编译选项,等等,你还可以设置选择针对哪些工具箱进行扫描: # C8 a. E- l5 l
当然你还可以手动设置C/C++编译器路径,头文件、库文件目录,警告等级等
/ v7 f x @9 K7 {, M& G. o9 W! i/ t# s% h% j3 e+ }
不过想要你的程序在没有安装Matlab的机器上运行,还有一点要注意,就是Matlab编译出来的程序需要用到Matlab的一些包括但不限于数学、图形等动态链接库,这些是你的程序必要的运行时环境,你可以拷贝
& }: h4 g F5 v6 f G0 g
* l7 Z8 C S) r (MatlabDIR)\ toolbox\\toolbox\compiler\deploy\win32\MCRRegCOMComponent.exe
7 w5 |# S2 H! `' p) `- G" h0 k2 @ \! V$ V; W$ |+ r0 e
到目标机器安装,然后就有了运行时环境,当然使用 Deployment Tool工具可以设置自动打包这个运行时,具体在设置页勾选 “Include MATLAB Comptent Runtime(MCR)”: 2 V8 [9 [" q1 j* O
并且包含你需要用到的资源文件,图片,html等等。& p9 l% Q; S& A, ]
' H9 Z- \0 [. Q/ H8 [然后就可以打包发布程序了。
2 u( H2 j) e6 B7 c4 B7 d |