天天看點

matlab生成EXE檔案

原文位址

通常編 寫的matlab程式隻能在裝有matlab的機器上執行,但是沒有安裝matlab的怎麼辦呢?這個可以使用matlab的自帶工具-Deploy Tool。

     Matlab的Deploy Tools 可以友善的将matlab工程編譯成 所支援的類型,例如 一般的Windows應用程式,Matlab for .NET/COM ,Matlab for Java,Matlab for Excel 等。

       其原理就是先使用 MCC 編譯器 根據你的m檔案生成相應的 c語言檔案以及資料檔案,然後 在調用 C/C++編譯器編譯成可執行檔案或者控件庫。

       在 Matlab 2007a 中 Deploy Tool其實是一個 MCC的前端界面(用MCC的指令行參數一樣可以完成編譯工作)

下面是用Deploy Tool來編matlab工程。

matlab生成EXE檔案

   首先建立 prj工程 ,從菜單中定位到 “New”-》“Deployment Project” 然後會提示選擇類型

matlab生成EXE檔案

然後添加檔案

matlab生成EXE檔案

接着你就可以編譯了

第一次編譯會讓你去選擇C/C++編譯器,運作 mbuild -setup 之後matlab會自動搜尋系統所安裝的C/C++編譯器,

然後讓你給出選擇,matlab自帶了LCC編譯器,不過可以使用 VC的編譯器 。

選擇好了之後你就可以編譯了,編譯之前你可以設定工程屬性,例如通用設定:

matlab生成EXE檔案

可以指定生成的中間檔案的路徑,編譯選項,等等,你還可以設定選擇針對哪些工具箱進行掃描:

matlab生成EXE檔案

當然你還可以手動設定C/C++編譯器路徑,頭檔案、庫檔案目錄,警告等級等

不過想要你的程式在沒有安裝Matlab的機器上運作,還有一點要注意,就是Matlab編譯出來的程式需要用到Matlab的一些包括但不限于數學、圖 形等動态連結庫,這些是你的程式必要的運作時環境,你可以拷貝

  (MatlabDIR)\ toolbox\\toolbox\compiler\deploy\win32\MCRRegCOMComponent.exe

到目标機器安裝,然後就有了運作時環境,當然使用 Deployment Tool工具可以設定自動打包這個運作時,具體在設定頁勾選 “Include MATLAB Comptent Runtime(MCR)”:

繼續閱讀