1. 程式人生 > >matlab與vc混合程式設計,一個命令搞定

matlab與vc混合程式設計,一個命令搞定

用matlab做的gui介面,雖說樣式也沒多美觀,好在簡單易操作,能馬上做完交報告,當然vc不會做介面實在沒啥可驕傲的。

用matlab寫的SARtotal.m,這是主程式,對應SARTota.fig,這是主介面,呼叫a.fig, b.fig ,c.fig三個子介面。在matlab中設定一個button,調來調去方便的不行。

最近要求要用vc呼叫matlab,脫離matlab可執行。說考慮是不是每個機子上都裝有matlab。那每個機子上都肯定會有vc嗎??

  開始:

 在matlab中輸入   mbuild -setup

然後matlab會打出命令,問你是否要編譯 

Would you like mbuild to locate installed compilers [y]/n?  y  ,你回他個y

又給你個選項,讓你選擇用什麼編譯,回他個2

Select a compiler:
[1] Lcc-win32 C 2.4.1 in C:\PROGRA~1\MATLAB\R2007a\sys\lcc
[2] Microsoft Visual C++ 6.0 in C:\Program Files\Microsoft Visual Studio
 
[0] None
 
Compiler: 2  

然後一陣操作,貌似告訴你,各種dll都建立好了。如下:

DllRegisterServer in C:\PROGRA~1\MATLAB\R2007a\bin\win32\mwcommgr.dll succeeded

然後輸入命令: mcc -m SARTotal.m  a.m  b.m c.m d.m

這裡,SARTotal是主介面,其後依次是三個子介面。收到三個warning後,搞定!

在你的matlab執行目錄下去看看,是否有個SARTotal.exe了,點選執行,你剛才的主介面,每個按鍵呼叫子介面,都能用是不是。

   然後,如何脫離matlab環境執行呢。有如下資料:

如果要在沒有安裝matlab的計算機上執行編譯後的程式,首先要將\MATLAB701\toolbox\compiler\deploy\win32中的MCRinstaller.exe安裝到該計算機上(7.0以前的版本是mglinstaller.exe)。

其次是要將“MCRinstaller.exe安裝目錄\runtime\win32”這個路徑新增到該計算機的環境變數中,新增的方法是:

右擊“我的電腦”“屬性”“高階”“環境變數”“新增”指定一個變數名,然後將上述路徑複製到裡面就可以了。

第三步是將編譯生成的相相關檔案拷貝到同一目錄下(當然其他目錄亦可)。

第四步是開啟MS-dos操作視窗,進入到編譯後的*.exe程式所在的目錄,執行編譯生成的*.exe檔案即可。

所以,在沒有matlab的電腦上安裝MCRinstaller.exe軟體,半分鐘搞定。然後再執行SARTotal.exe,沒問題把。這裡注意,要把SARTotal.exe以及SARTotal.ctf放在一起,否則會提示找不到ctf檔案。