Chinaunix首页 | 论坛 | 博客
  • 博客访问: 214045
  • 博文数量: 58
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 720
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-25 17:18
文章存档

2009年(30)

2008年(28)

我的朋友

分类: WINDOWS

2009-01-05 09:46:45

matlab生成dll
发表时间:2008年06月15日 00时19分

本文地址:http://qzone.qq.com/blog/95799225-1213460343

一、生成独立可执行的程序(exe文件)步骤 
    1、安装编译器。可有多种选择,本机安装的是microsoft visual c++ 6.0; 
    2、设置编译器。在matlab命令行输入mbuild -setup,选择安装的c编译器; 
    3、调用编译器。输入mcc -m filaname,filaname为要转成exe的m文件; 
    在以前的版本中,用编译命令mcc -B sglcpp filaname;自2006的版本后,替换为mcc -m filaname; 
    4、安装MATLAB7\toolbox\compiler\deploy\win32目录下的MCRInstaller。 
    二、脱离matlab运行可执行程序 
    MCR是由matlab的运行环境,占用不到400M的对于用不同matlab版本生成的exe文件,MCR版本也会有不同,因此,在程序打包时,最好将相应版本的MCR一起打包。MCR环境的设置文件存放目录如下: 
                \MATLAB\R2007a\toolbox\compiler\deploy\win32 
文件名为MCRInstaller.exe。可将其拷贝到自己的文件夹中。 
    在其它机器上运行exe文件前,首先安装matlab的运行环境。在同一机器上可以并存不同版本的matlab环境。 
Note: 将MCRInstaller.exe拷贝到你文件所在文件夹里,用打包程序来打包,生成安装文件,设定在解包过程中自动执行MCRInstaller.exe,同时将可执行文件的图标放在桌面。 
===============================================================================
Stand-Alone Applications 
The MATLAB Compiler, when invoked with the -m macro option, takes the input M-files and produces the required wrapper file suitable for a stand-alone application. Then, your C or C++ compiler compiles this code and links against the MCR, which is a stand-alone set of shared libraries that enable the execution of M-files. 
For example, to generate a stand-alone executable from the file example.m, use 
mcc -m example 

终于搞定了!制作Matlab可执行文件 
最后从网上搜索了N多篇文章问题还是没有解决,MCC也用了,LCC也用了,MatCOM啥的也用了,最终都没有解决。抱定死马当活马医的决心,在Matlab里面Help吧,打开金山词霸,照着令人眼晕的英文Help看,还好,得亏Matlab的help做的不错,终于找到问题的所在了。 
其实以前的问题主要是出在Matlab的运行时环境,当在装了Matlab的机器上试的时候,因为Matlab里面有运行时环境,所以能够运行,当将Release版放到别的机器上的时候就会出问题。到Matlab的安装目录下找到extern\lib\win32,这个文件夹里面装的估计是一些库文件,找到mglinstaller.exe,这个是可执行文件,双击运行它,它就会在机器上安装Matlab运行时需要的一些库文件。假设安装路径为D:\Release;在PATH变量中添加该目录以后,就可以在一台没有安装Matlab的机器上使用了。    Question resolved! 
%------------------------------------------------------------------------------------------------------------------------------------- 
matlab有自己独立的编译器可生成可执行程序,可使用mcc命令,也可使用工具deploytool建立项目. 
如果要使生成的可执行文件在没有安装matlab的计算机上使用,还必须在目标计算机上安装MCR(matlab组件运行环境). 
可利用zipfile=buildmcr(dirname)来创建一个包含MCR需要的所有文件的zip文件,在deploytool里也有相关选项. 
一般需要发布的文件有3个: 
(1)编译得到的可执行文件或dll、lib。 
(2)CTF文件(组件技术文件)。 
(3)MCRInstaller.zip.

阅读(5476) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~