MATLAB生成exe脫離matlab執行可執行程式
如何將MATLAB程式編譯成獨立可執行的程式?如何將編譯好的獨立可執行程式釋出在沒有安裝MATLAB的電腦上?下面將一步步實現:
一、生成獨立可執行的程式(exe檔案)步驟
1、安裝編譯器。可有多種選擇,matlab自帶了一個LCC,推薦使用VC++6.0,我基於VS2010實現。
2、設定編譯器。
在matlab命令列輸入mbuild –setup以及mex –setup,選擇安裝的c編譯器(可能會選1也可能選0,這個要看你顯示的是什麼)。選擇y 一直到done
3、呼叫編譯器。
當然,也可以輸入mcc -m filaname, filaname為要轉成exe的m檔案,例如你的名字是im.m檔案,那麼fileaname就用im替換
二、脫離matlab執行可執行程式(換一個電腦執行exe)
MCR是由matlab的執行環境,佔用不到300M的對於用不同matlab版本生成的exe檔案,MCR版本也會有不同,因此,在程式打包時,最好將相應版本的MCR一起打包。MCR環境的設定檔案存放目錄如下:
<matlab path>\toolbox\compiler\deploy\win64
檔名為MCRInstaller.exe。
步驟:
(一)先把這個安裝在新電腦上
(二)然後配置環境
右擊“我的電腦”“屬性”“高階”“環境變數”“新增”指定一個變數名,然後將路徑C:\Program Files\MATLAB\MATLAB Compiler Runtime\v80\runtime\win64複製到裡面就可以了。
三、執行exe,黑屏一閃
美中不足就是,執行的時候dos的那個黑色地視窗一直存在。下面將實現去除黑屏的辦法:
消除執行MATLAB生成的exe程式的dos黑屏的辦法
基於MATLAB生成exe檔案後,每次執行都存在dos黑屏的問題,現在可以通過以下方法解決:
方法: 在命令視窗輸入:
cd(prefdir)
edit compopts.bat
在開啟的檔案最後新增以下語句(新增哪個要看你的電腦):
A.VC環境下(我的是新增這個因為是vs2010):
set LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS/ENTRY:mainCRTStartup
B.LCC環境下:
set LINKFLAGS=%LINKFLAGS% -subsystemwindows
C. Borland:
set LINKFLAGS=%LINKFLAGS% -aa
儲存以後,再重新編譯m檔案,生成的exe檔案執行起來就沒有dos視窗了
這個方法在使用後生成的exe再到沒有任何安裝MATLAB的機子上執行也不會有黑屏了。