1. 程式人生 > >【matlab】如何將matlab GUI程式轉換為exe獨立執行

【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/