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

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