matlab生成EXE
2016-02-15 16:36
363 查看
通常编 写的matlab程序只能在装有matlab的机器上执行,但是没有安装matlab的怎么办呢?这个可以使用matlab的自带工具-Deploy
Tool。
Matlab的Deploy
Tools 可以方便的将matlab工程编译成 所支持的类型,例如 一般的Windows应用程序,Matlab for .NET/COM ,Matlab for Java,Matlab for Excel 等。
其原理就是先使用
MCC 编译器 根据你的m文件生成相应的 c语言文件以及数据文件,然后 在调用 C/C++编译器编译成可执行文件或者控件库。
在
Matlab 2007a 中 Deploy Tool其实是一个 MCC的前端界面(用MCC的命令行参数一样可以完成编译工作)
下面是用Deploy Tool来编matlab工程。
首先创建
prj工程 ,从菜单中定位到 “New”-》“Deployment Project” 然后会提示选择类型
然后添加文件
接着你就可以编译了
第一次编译会让你去选择C/C++编译器,运行 mbuild -setup 之后matlab会自动搜索系统所安装的C/C++编译器,
然后让你给出选择,matlab自带了LCC编译器,不过可以使用 VC的编译器 。
选择好了之后你就可以编译了,编译之前你可以设置工程属性,例如通用设置:
可以指定生成的中间文件的路径,编译选项,等等,你还可以设置选择针对哪些工具箱进行扫描:
当然你还可以手动设置C/C++编译器路径,头文件、库文件目录,警告等级等
不过想要你的程序在没有安装Matlab的机器上运行,还有一点要注意,就是Matlab编译出来的程序需要用到Matlab的一些包括但不限于数学、图
形等动态链接库,这些是你的程序必要的运行时环境,你可以拷贝
(MatlabDIR)\
toolbox\\toolbox\compiler\deploy\win32\MCRRegCOMComponent.exe
到目标机器安装,然后就有了运行时环境,当然使用 Deployment Tool工具可以设置自动打包这个运行时,具体在设置页勾选 “Include
MATLAB Comptent Runtime(MCR)”:
Tool。
Matlab的Deploy
Tools 可以方便的将matlab工程编译成 所支持的类型,例如 一般的Windows应用程序,Matlab for .NET/COM ,Matlab for Java,Matlab for Excel 等。
其原理就是先使用
MCC 编译器 根据你的m文件生成相应的 c语言文件以及数据文件,然后 在调用 C/C++编译器编译成可执行文件或者控件库。
在
Matlab 2007a 中 Deploy Tool其实是一个 MCC的前端界面(用MCC的命令行参数一样可以完成编译工作)
下面是用Deploy Tool来编matlab工程。
首先创建
prj工程 ,从菜单中定位到 “New”-》“Deployment Project” 然后会提示选择类型
然后添加文件
接着你就可以编译了
第一次编译会让你去选择C/C++编译器,运行 mbuild -setup 之后matlab会自动搜索系统所安装的C/C++编译器,
然后让你给出选择,matlab自带了LCC编译器,不过可以使用 VC的编译器 。
选择好了之后你就可以编译了,编译之前你可以设置工程属性,例如通用设置:
可以指定生成的中间文件的路径,编译选项,等等,你还可以设置选择针对哪些工具箱进行扫描:
当然你还可以手动设置C/C++编译器路径,头文件、库文件目录,警告等级等
不过想要你的程序在没有安装Matlab的机器上运行,还有一点要注意,就是Matlab编译出来的程序需要用到Matlab的一些包括但不限于数学、图
形等动态链接库,这些是你的程序必要的运行时环境,你可以拷贝
(MatlabDIR)\
toolbox\\toolbox\compiler\deploy\win32\MCRRegCOMComponent.exe
到目标机器安装,然后就有了运行时环境,当然使用 Deployment Tool工具可以设置自动打包这个运行时,具体在设置页勾选 “Include
MATLAB Comptent Runtime(MCR)”:
相关文章推荐
- MATLAB中存储中间数据以避免重复计算
- matlab 编程遇到的问题
- Matlab randperm 洗牌函数
- MATLAB插值方法简介
- MATLAB.NET混合编程之四~~从Matlab向C#的数据类型转化
- MATLAB.NET混合编程之三~~从C#向Matlab的数据类型转化
- 手工matlab下K-means聚类算法实现而不是调用库函数
- matlab的一点问题
- Matlab中的PDEPE求解"瞬态型"或"发展型"非线性偏微分方程组
- 用PYTHON調用MATLAB的函數
- 用Matlab计算二元域GF(2)上的不可约多项式
- Matlab中的有限域计算
- MATLAB基本命令
- 基于MATLAB与C++的混合编程
- matlab按行读文件
- Matlab 点阵四维表示
- MFCC matlab code
- 基于MFCC和DTW的说话人识别系统
- MatLab 组件大全
- 关于白噪声的理解