EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
通常编写的matlab程序只能在装有matlab的机器上执行,但是没有安装matlab的怎么办呢?这个可以使用matlab的自带工具-Deploy Tool。
3 `$ Z% l9 R& B) `, u
* f- V( a0 L) D: q8 j7 w Matlab的Deploy Tools 可以方便的将matlab工程编译成 所支持的类型,例如 一般的Windows应用程序,Matlab for .NET/COM ,Matlab for Java,Matlab for Excel 等。( w, b& l/ b2 h! ]5 J8 \" }
/ s5 Y9 K: @; ~$ l0 }7 L2 F 其原理就是先使用 MCC 编译器 根据你的m文件生成相应的 c语言文件以及数据文件,然后 在调用 C/C++编译器编译成可执行文件或者控件库。4 f8 l! ~5 `( D- ?. p
1 z0 P8 z* z' [0 f; E& C# ^ 在 Matlab 2007a 中 Deploy Tool其实是一个 MCC的前端界面(用MCC的命令行参数一样可以完成编译工作)7 R1 j& P% k' G! @6 I
下面是用Deploy Tool来编matlab工程。
& [6 A+ y' _& Y* o
1 O) f+ c* _6 n: V 首先创建 prj工程 ,从菜单中定位到 “New”-》“Deployment Project” 然后会提示选择类型* K, z6 F2 K5 V2 U1 |" c
6 I: B5 ~/ h' y
然后添加文件
' {0 f6 e6 j1 W) t( z' u- x$ d6 D. G
接着你就可以编译了
# S* x$ i, {* k6 S) Z7 `, L: I$ @' e) H$ L, Z. i6 D* |) R
第一次编译会让你去选择C/C++编译器,运行 mbuild -setup 之后matlab会自动搜索系统所安装的C/C++编译器,9 R, Y) \$ I& @) p! u0 r r; G
然后让你给出选择,matlab自带了LCC编译器,不过可以使用 VC的编译器 。
8 Q- X6 x3 U/ a$ m选择好了之后你就可以编译了,编译之前你可以设置工程属性,例如通用设置:
. a6 _* l& m4 s q% E& q可以指定生成的中间文件的路径,编译选项,等等,你还可以设置选择针对哪些工具箱进行扫描: / k2 W1 ?8 Y$ G! F$ ?
当然你还可以手动设置C/C++编译器路径,头文件、库文件目录,警告等级等0 c- e, |. Q( @4 m
/ z/ _# [* m2 e+ f& V* J& B! g5 r9 T- n
不过想要你的程序在没有安装Matlab的机器上运行,还有一点要注意,就是Matlab编译出来的程序需要用到Matlab的一些包括但不限于数学、图形等动态链接库,这些是你的程序必要的运行时环境,你可以拷贝+ z8 ~7 n h( n' X7 y* T
5 c; ?8 N7 {- E& i# A& [; F- G (MatlabDIR)\ toolbox\\toolbox\compiler\deploy\win32\MCRRegCOMComponent.exe0 ?$ g8 m! M1 Q4 q
# C2 r" y3 e- U% n t$ j# J/ @4 S到目标机器安装,然后就有了运行时环境,当然使用 Deployment Tool工具可以设置自动打包这个运行时,具体在设置页勾选 “Include MATLAB Comptent Runtime(MCR)”: ; Q- i' _; F: I7 l0 E
并且包含你需要用到的资源文件,图片,html等等。7 {. t" a; M0 O. P2 U3 H: D* ~" O
0 J) z& Y+ |5 [- X
然后就可以打包发布程序了。
$ F1 Y- H& C1 N4 Y |