EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
通常编写的matlab程序只能在装有matlab的机器上执行,但是没有安装matlab的怎么办呢?这个可以使用matlab的自带工具-Deploy Tool。0 C4 n! R7 t0 w. H' C! S
0 [. G- D$ m* J- d: \/ i% k Matlab的Deploy Tools 可以方便的将matlab工程编译成 所支持的类型,例如 一般的Windows应用程序,Matlab for .NET/COM ,Matlab for Java,Matlab for Excel 等。( `' Y2 K/ v/ \7 k
1 e7 p8 V: L3 f% m% s; B0 k4 _
其原理就是先使用 MCC 编译器 根据你的m文件生成相应的 c语言文件以及数据文件,然后 在调用 C/C++编译器编译成可执行文件或者控件库。0 o8 ^: w" \( `9 P1 c) K. ]
7 d0 P6 U O2 @ 在 Matlab 2007a 中 Deploy Tool其实是一个 MCC的前端界面(用MCC的命令行参数一样可以完成编译工作)! Q z2 h' i3 x; Q, o
下面是用Deploy Tool来编matlab工程。
8 }8 ~$ a2 A+ b" A2 X0 y1 g
, C. N# N2 y K, q 首先创建 prj工程 ,从菜单中定位到 “New”-》“Deployment Project” 然后会提示选择类型
4 K# k; S- a \8 W8 P1 @+ a# ^" n1 A# i# ]& P' Q( j
然后添加文件8 \- S: F2 R& Y6 s6 f8 q( `
9 q! }. t- h# }: c! T 接着你就可以编译了" X' k" H$ _/ A4 z
8 d7 Y- z" [$ `7 m/ y3 I( A/ o第一次编译会让你去选择C/C++编译器,运行 mbuild -setup 之后matlab会自动搜索系统所安装的C/C++编译器,- `7 O& ^. y4 z1 g0 @" r0 ^
然后让你给出选择,matlab自带了LCC编译器,不过可以使用 VC的编译器 。
5 S/ R r' e+ `- V* H选择好了之后你就可以编译了,编译之前你可以设置工程属性,例如通用设置: 4 S% w" G1 t9 e; D5 N, o& l$ p6 T
可以指定生成的中间文件的路径,编译选项,等等,你还可以设置选择针对哪些工具箱进行扫描: : _: R6 Z( @( f' T* i. m, W' g. y& d6 K
当然你还可以手动设置C/C++编译器路径,头文件、库文件目录,警告等级等9 O c- o# _& a. @
' R+ j% a4 P* D3 X& S
不过想要你的程序在没有安装Matlab的机器上运行,还有一点要注意,就是Matlab编译出来的程序需要用到Matlab的一些包括但不限于数学、图形等动态链接库,这些是你的程序必要的运行时环境,你可以拷贝6 `) {2 \5 T6 `$ p/ r
- j& Y- g) N" K; E! q( X8 O0 J0 \
(MatlabDIR)\ toolbox\\toolbox\compiler\deploy\win32\MCRRegCOMComponent.exe
2 f/ g/ D& C3 L" Z9 |
5 X m/ p. J" R2 V5 k5 W! _到目标机器安装,然后就有了运行时环境,当然使用 Deployment Tool工具可以设置自动打包这个运行时,具体在设置页勾选 “Include MATLAB Comptent Runtime(MCR)”:
$ M% o7 Z3 }8 C$ _: w9 u并且包含你需要用到的资源文件,图片,html等等。
. l7 I5 i0 N6 F( w; e1 g9 e
/ s, S+ C' R' c然后就可以打包发布程序了。 % \& c/ Y: G3 }" I/ y8 W" ]: k
|