1. 程式人生 > >MATLAB生成exe脫離matlab執行可執行程式

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的機子上執行也不會有黑屏了。