【matlab】如何將matlab GUI程式轉換為exe獨立執行
###Date:2017-2-27
=================================================================================
1.安裝編譯器
>> mex -setup
Please choose your compiler for building external interface (MEX) files:
Would you like mex to locate installed compilers [y]/n? y
Select a compiler:
[1] Lcc C version 2.4 in C:\MATLAB7\sys\lcc
[0] None
Compiler: 1
Please verify your choices:
Compiler: Lcc C 2.4
Location: C:\MATLAB7\sys\lcc
Are these correct?([y]/n): y
Try to update options file: C:\Documents and Settings\liu\Application Data\MathWorks\MATLAB\R14\mexopts.bat
From template: C:\MATLAB7\BIN\WIN32\mexopts\lccopts.bat
Done . . .
安裝完畢
說明:在命令視窗輸入 mbuild –setup ,對於大多數使用者來說選擇Matlab自帶的Lcc編譯器是足夠!如果要在沒有安裝matlab的計算機上執行編譯後的程式,首先要將\MATLAB7\toolbox\compiler\deploy\win32中的MCRinstaller.exe安裝到該計算機上(7.0以前的版本是mglinstaller.exe)。
2.設定編譯器:
在確定安裝好Matlab Compiler後,還需要對Compiler進行適當的配置,方法是在Matlab命令視窗輸入:
>>mbuild –setup, 按提示選擇matlab自帶編譯器LCC。
3.將指令碼編譯為可執行檔案:
如專案檔案包含:gui.m, gui.gif, fun1.m。
在此路徑下命令列輸入:>>mcc –m gui.m,生 成:mccExcludedFiles.log,ReadMe.txt,gui.ctf,gui.prj,gui_main.c,gui_mcc_component_data.c,gui.exe。其中:gui.ctf,gui.exe為脫離matlab環境執行必需的檔案。
4.在未安裝matlab的機器上執行可執行程式。
將toolbox\compiler\deploy\win32中的MCRinstaller.exe安裝到該計算機上,將生成可執行程式脫離matlab執行所需的函式庫。
將2中生成的gui.ctf,gui.exe先拷貝到該計算機同一路徑。再執行gui.exe將生成gui_mcr資料夾,包含程式執行所需的庫。至此完成。
5.去除獨立可執行程式執行時的"DOS黑視窗"。
以上生成的exe程式執行時首先彈出一個DOS介面視窗,如果不需要其輸出資料和錯誤資訊,可將其去除。
matlab命令列輸入:
>>cd(prefdir)
>>edit compopts.bat
此時compopts.bat開啟,在檔案最後新增:
set LINKFLAGS=%LINKFLAGS% -subsystem windows
如果程式比較複雜,易出現異常,則不建議去除這個dos視窗以便除錯。
另外,這個辦法是適用於你用的編譯器為LCC,如果是其他的,那麼所加語句有所不同
Microsoft Visual C/C++:
set LINKFLAGS=%LINKFLAGS% /SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup
Borland:
set LINKFLAGS=%LINKFLAGS% -aa
參考:
https://www.cnblogs.com/zhangruilin/p/5769798.html
http://chengyonghuan.blog.163.com/blog/static/127714284201232511303366/