EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
通常编写的matlab程序只能在装有matlab的机器上执行,但是没有安装matlab的怎么办呢?这个可以使用matlab的自带工具-Deploy Tool。' o' h( X2 m- z# H
+ `' S9 K2 R( F* ]5 Y
Matlab的Deploy Tools 可以方便的将matlab工程编译成 所支持的类型,例如 一般的Windows应用程序,Matlab for .NET/COM ,Matlab for Java,Matlab for Excel 等。! v, n' L+ a" h9 T- @! D
0 D p0 E. o" [; L( f! z
其原理就是先使用 MCC 编译器 根据你的m文件生成相应的 c语言文件以及数据文件,然后 在调用 C/C++编译器编译成可执行文件或者控件库。
2 `- _) R+ C& ~9 L
" P3 G/ q- B# k" [; e* U4 E6 e# g 在 Matlab 2007a 中 Deploy Tool其实是一个 MCC的前端界面(用MCC的命令行参数一样可以完成编译工作), c3 T7 ~$ o9 r1 A
下面是用Deploy Tool来编matlab工程。 ^8 {$ h/ P0 Z4 D `) ]; D' ~# [
; S0 y8 O% I9 w2 t
首先创建 prj工程 ,从菜单中定位到 “New”-》“Deployment Project” 然后会提示选择类型
/ q$ V6 a: w3 h" ]% h/ t% y9 L; W- i5 @; Q3 q! M6 }# k
然后添加文件1 G; N5 `8 y5 u9 M, n F
" E" B3 S) C% _& s
接着你就可以编译了
& Q* U1 |) v. I d( `8 u( {$ V1 H# u6 C1 }5 {9 l
第一次编译会让你去选择C/C++编译器,运行 mbuild -setup 之后matlab会自动搜索系统所安装的C/C++编译器,2 U1 A/ @. W' d4 Z8 W0 k' l8 y7 J1 @
然后让你给出选择,matlab自带了LCC编译器,不过可以使用 VC的编译器 。 ! e5 G) E% k8 g+ K! z$ l& E. e
选择好了之后你就可以编译了,编译之前你可以设置工程属性,例如通用设置:
8 {8 ^& l* L9 p; R+ B; K7 h2 ^' E7 }0 y可以指定生成的中间文件的路径,编译选项,等等,你还可以设置选择针对哪些工具箱进行扫描: ) k) Z; m# m2 f
当然你还可以手动设置C/C++编译器路径,头文件、库文件目录,警告等级等0 @7 X; K8 @8 J* E
0 a8 [2 |# C- H
不过想要你的程序在没有安装Matlab的机器上运行,还有一点要注意,就是Matlab编译出来的程序需要用到Matlab的一些包括但不限于数学、图形等动态链接库,这些是你的程序必要的运行时环境,你可以拷贝
" w/ n, E. K2 t4 J% y
) e4 V) S+ n2 _. z) N (MatlabDIR)\ toolbox\\toolbox\compiler\deploy\win32\MCRRegCOMComponent.exe
6 [" G, Q+ M2 O8 T
8 o5 Y1 M. X; o2 L- X: b: M到目标机器安装,然后就有了运行时环境,当然使用 Deployment Tool工具可以设置自动打包这个运行时,具体在设置页勾选 “Include MATLAB Comptent Runtime(MCR)”: # Q) F8 a$ L0 [% A! t" J$ s3 o
并且包含你需要用到的资源文件,图片,html等等。+ c" @) K1 ?- y- {. n) I! a' p
* L; w- r: B& M2 J! X然后就可以打包发布程序了。
( p& C9 n) T# Z |