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要大一点。