天天看點

釋出matlab程式,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

檔案所在目錄有寫權利。否則,釋出的程式在執行時會報錯。如果編譯後的程式以CD光牒的方

式釋出,那麼程式必須先複制到硬碟的某個目錄,然後才運作。

資料二:

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