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/<arch> /MCRInstaller.zip。
其中$MATLAB代表MATLAB的安装目录,<arch>代表不同的计算机架构。比如在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要大一点。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章