matlab程序发布为独立应用程序(从网上整理来的资料):

资料一:

7.3.4  编译后程序的发布

无论编译后产生的是可执行文件,还是动态连接库,要使它们能够发布到别的没有安装

MATLAB的计算机上使用,必须在目标计算机上安装MCR,不能只是简单地把编译后产生的文

件复制到目标计算机上。

可以利用MATLAB命令buildmcr来创建可以发布给最终用户的MCR安装文件。buildmcr的功能

是创建一个包含MCR需要的所有文件的ZIP压缩文件。buildmcr有如下两种调用方式:

zipfile = buildmcr

zipfile = buildmcr(dirname)

其中返回值zipfile是产生MCRInstaller.zip的完整路径名。在没有输入参数的情况下,

buildmcr会把产生的MCRInstaller.zip保存到地址

$MATLAB/toolbox/compiler/deploy/ /MCRInstaller.zip。

其中$MATLAB代表MATLAB的安装目录,代表不同的计算机架构。比如在Windows上,默

认的MCRInstaller.zip的路径为$MATLAB\toolbox\compiler\deploy\win32\

MCRInstaller.zip。

相应地,在Linux上,默认的MCRInstaller.zip的路径为$MATLAB/toolbox/compiler/

deploy/glnx86/MCRInstaller.zip。

也可以使用输入参数dirname来指定MCRInstaller.zip的保存目录。buildmcr('.')将把产生

的MCRInstaller.zip保存到当前工作目录。

一般来说,需要发布的文件有3个:

(1)编译得到的可执行文件或者库函数。

(2)CTF文件。

(3)MCRInstaller.zip。

在最终用户的计算机上,首先需要把MCRInstaller.zip解压,并把MCR中可执行文件所在目

录加到系统路径上,然后就可以使用编译后的程序了。

注意:MCR不支持在startup.m中使用addpath命令增加搜索路径。

startup.m是一个可以让用户设置一些关于MATLAB运行的个性化设置。如果你在运行MATLAB

编译器的计算机上使用startup.m来给MATLAB增加一些特别的搜索路径,那么发布的程序运

行时会报错。必须让addpath命令只在非发布情况下才有效。利用isdeployed命令,在

startup.m判断是否运行相关的命令:

if ~isdeployed

addpath(…)

%其他一些命令

endif

另外,编译后发布的程序在运行时需要先把CTF解压。所以在运行这些程序时需要确保对CTF

文件所在目录有写权利。否则,发布的程序在执行时会报错。如果编译后的程序以光盘的方

式发布,那么程序必须先复制到硬盘的某个目录,然后才运行。

资料二:

1、使用matcom方法,但是matcom函数太少,不适合使用。

2、将matlab文件通过命令生成动态链接库dll,在VC程序中调用。(注:与资料一的叙述有

矛盾这处)

3、直接在客户机上安装$MATLAB\toolbox\compiler\deploy\win32目录下的

MCRInstaller.exe程序(83M),就可以了。或者通过matlab命令生成一个CRInstaller.zip

文件,解压缩到客户机上,并将动态链接库目录(??是bin目录吗?)添加到PATH环境变

量中。相比之下还是运行MCRInstaller.exe省事一些,虽然比MCRInstaller.zip要大一点。