EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
通常编写的matlab程序只能在装有matlab的机器上执行,但是没有安装matlab的怎么办呢?这个可以使用matlab的自带工具-Deploy Tool。
9 c3 C7 o' q/ ~& U) E$ R
+ @/ P. r( ~4 _: Z- t. D Matlab的Deploy Tools 可以方便的将matlab工程编译成 所支持的类型,例如 一般的Windows应用程序,Matlab for .NET/COM ,Matlab for Java,Matlab for Excel 等。
5 _/ }! \) j! Y2 s# k$ i - ~% c5 H4 B( |. L1 d* Z
其原理就是先使用 MCC 编译器 根据你的m文件生成相应的 c语言文件以及数据文件,然后 在调用 C/C++编译器编译成可执行文件或者控件库。; a' U: N/ f* u# X& L& b
" B5 G' D V$ c9 Z# O 在 Matlab 2007a 中 Deploy Tool其实是一个 MCC的前端界面(用MCC的命令行参数一样可以完成编译工作)) N- m9 Q! J2 P$ E4 V- N
下面是用Deploy Tool来编matlab工程。" w) J% T& N! C: c0 h. ~7 i* y
. m) g7 q, y" V& B8 t+ E 首先创建 prj工程 ,从菜单中定位到 “New”-》“Deployment Project” 然后会提示选择类型
( W9 p: g; Y+ h1 w7 q
+ Q+ |: G% G5 B/ h! w L 然后添加文件0 G. y: ^/ l0 {4 ~# s: U* Z: |1 }
+ d) Z- ~5 i G5 F- Y/ _3 _2 J9 v
接着你就可以编译了5 ^! s3 Z5 V9 M. g8 k
0 v7 z5 h- b6 u) y* q& z0 O" \第一次编译会让你去选择C/C++编译器,运行 mbuild -setup 之后matlab会自动搜索系统所安装的C/C++编译器,2 t9 Q# e$ G) S \3 x) J1 Y
然后让你给出选择,matlab自带了LCC编译器,不过可以使用 VC的编译器 。
6 {" D1 m* [) ~( M选择好了之后你就可以编译了,编译之前你可以设置工程属性,例如通用设置: 7 f% `' A) I' T" |) q& L; J' k
可以指定生成的中间文件的路径,编译选项,等等,你还可以设置选择针对哪些工具箱进行扫描: 5 L; r/ j. w4 |0 _% x/ E
当然你还可以手动设置C/C++编译器路径,头文件、库文件目录,警告等级等3 z) b' A3 D5 S% V
5 t8 U8 o. P1 Y; N' y# O! x
不过想要你的程序在没有安装Matlab的机器上运行,还有一点要注意,就是Matlab编译出来的程序需要用到Matlab的一些包括但不限于数学、图形等动态链接库,这些是你的程序必要的运行时环境,你可以拷贝
9 q$ n# F# H' U( K/ E* ~
- j% n- V# Q7 X+ N7 W1 A7 b (MatlabDIR)\ toolbox\\toolbox\compiler\deploy\win32\MCRRegCOMComponent.exe& Z$ w/ }7 q1 Z: K
+ ^. C: e. B) d0 ?6 L
到目标机器安装,然后就有了运行时环境,当然使用 Deployment Tool工具可以设置自动打包这个运行时,具体在设置页勾选 “Include MATLAB Comptent Runtime(MCR)”: ( Y4 e# Z/ ]3 j# A8 W
并且包含你需要用到的资源文件,图片,html等等。0 e5 r3 t( z3 V2 c5 {6 W6 y
2 c/ N/ {( V' G9 v
然后就可以打包发布程序了。
; @% x! V6 r! t |