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檔案。