找回密码
 注册
查看: 607|回复: 0
打印 上一主题 下一主题

matlab生成exe文件

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-8-6 17:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
通常编写的matlab程序只能在装有matlab的机器上执行,但是没有安装matlab的怎么办呢?这个可以使用matlab的自带工具-Deploy Tool。
/ a" k7 [( Y1 K6 Q9 |& a; |
/ N2 d% K9 f4 e# B. ^0 n   Matlab的Deploy Tools 可以方便的将matlab工程编译成 所支持的类型,例如 一般的Windows应用程序,Matlab for .NET/COM ,Matlab for Java,Matlab for Excel 等。5 g7 Q' a6 I  \

, p/ r& _/ ~/ d    其原理就是先使用 MCC 编译器 根据你的m文件生成相应的 c语言文件以及数据文件,然后 在调用 C/C++编译器编译成可执行文件或者控件库。
9 `5 v  N" H1 z6 m3 s
! D3 D1 Q$ R5 w  h    在 Matlab 2007a 中 Deploy Tool其实是一个 MCC的前端界面(用MCC的命令行参数一样可以完成编译工作)& W9 `9 o- W5 c4 ^- }4 g
下面是用Deploy Tool来编matlab工程。: X% c6 Y! C4 w8 ]2 Y5 s

. [* m( z; `3 B! U$ o& n3 F1 {0 V  首先创建 prj工程 ,从菜单中定位到 “New”-》“Deployment Project” 然后会提示选择类型! y4 f6 W# _& N. }5 X0 V
" b3 k' m9 |& I7 I; ~6 V6 ^* }* @
然后添加文件4 X  C9 O" Z' Z( l6 |# p
; s& i, z9 }8 }
接着你就可以编译了# H3 ]& v) T1 J2 v/ h. ?

  }0 [& Q* V# m/ y第一次编译会让你去选择C/C++编译器,运行 mbuild -setup 之后matlab会自动搜索系统所安装的C/C++编译器,$ r- f/ j. `; ~+ {
然后让你给出选择,matlab自带了LCC编译器,不过可以使用 VC的编译器 。
$ }9 b$ S! `6 F
选择好了之后你就可以编译了,编译之前你可以设置工程属性,例如通用设置:
! v6 E0 _2 |$ ^4 v6 @1 V* \
可以指定生成的中间文件的路径,编译选项,等等,你还可以设置选择针对哪些工具箱进行扫描:
& |& z* e# X1 P6 x" e
当然你还可以手动设置C/C++编译器路径,头文件、库文件目录,警告等级等7 x! {5 R% Q- h; c9 m
) x8 q, Z/ q, A4 o( a0 t0 E0 c
不过想要你的程序在没有安装Matlab的机器上运行,还有一点要注意,就是Matlab编译出来的程序需要用到Matlab的一些包括但不限于数学、图形等动态链接库,这些是你的程序必要的运行时环境,你可以拷贝
7 V& r" ]; t& T* l  a! J0 ^5 A) c
& D8 V0 |! v" T3 C9 k (MatlabDIR)\ toolbox\\toolbox\compiler\deploy\win32\MCRRegCOMComponent.exe
; ]) o: p* Y: Z& N" q1 a; z( x! f! v% e6 h
到目标机器安装,然后就有了运行时环境,当然使用 Deployment Tool工具可以设置自动打包这个运行时,具体在设置页勾选 “Include MATLAB Comptent Runtime(MCR)”:
# c: c9 B9 ~3 P$ G6 N, M
并且包含你需要用到的资源文件,图片,html等等。
1 S+ W8 w  b) t0 ~7 G2 \  C
* W* h& X! f' k- _然后就可以打包发布程序了。

. D6 @3 {7 f  t2 U+ U2 b) i
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-5-24 01:04 , Processed in 0.093750 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表