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工程。


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


 

然後添加文件


 

接着你就可以編譯了

第一次編譯會讓你去選擇C/C++編譯器,運行 mbuild -setup 之後matlab會自動搜索系統所安裝的C/C++編譯器,
然後讓你給出選擇,matlab自帶了LCC編譯器,不過可以使用 VC的編譯器 。

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


 

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


 

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

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

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

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