matlab如何生成exe

zy_ky發表於2019-09-03

matlab的m檔案生成可執行exe程式,細節內容可能隨版本不同有些差異,但是步驟大致通用。我的是matlab2016a,vs2015,win7。

步驟1:安裝編譯器:輸入 mbuild -setup

命令列視窗輸入mbuild -setup

MBUILD 配置為使用 'Microsoft Visual C++ 2015 Professional (C)' 以進行 C 語言編譯
要選擇不同的語言,請從以下選項中選擇一種命令:
 mex -setup C++ -client MBUILD 
 mex -setup FORTRAN -client MBUILD

點選選擇mex -setup C++ -client MBUILD

步驟2:設定編譯器:mex -setup

命令列視窗輸入mex -setup

    MEX 配置為使用 'Microsoft Visual C++ 2015 Professional (C)' 以進行 C 語言編譯。
        警告: MATLAB C 和 Fortran API 已更改,現可支援包含 2^32-1 個以上元素的 MATLAB 變數。不久以後,您需要更新程式碼以利用新的 API。
        您可以在以下網址找到相關詳細資訊:http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html。
要選擇不同的語言,請從以下選項中選擇一種命令:
 mex -setup C++ 
 mex -setup FORTRAN

滑鼠單擊選擇mex -setup C++

步驟3:改寫你的m檔案

將你的m檔案加上函式頭和end。比如:

function m2exetest(n)
      A=[1 2 3;4 5 6;7 8 9];
	 disp(n);
	 disp(A);%顯示矩陣
	 pause(3);%暫停3秒
	 disp('pause結束');
end

這裡的n就是輸入引數,如果沒有的時候就不寫就可以,只用()就k可以。

步驟4:呼叫編譯器:mcc -m filename.m

命令列視窗輸入:mcc -m filename.m
可以生成exe檔案了,附帶生成的3個小檔案可以忽略,就是用於記錄的,可以點掉。
exe的名稱可以隨意改,不影響。


步驟5:.exe用於其他裝置的配置

將exe拷貝到其他電腦上使用,直接雙擊exe是沒有反應的,只要另一個電腦上沒有安裝與你的matlab完全相同的版本,就不能執行。需要做2個步驟:
  1.將你的matlab安裝路徑下的MCRInstaller.exe拷貝給對方並安裝。
D:\Program Files\MATLAB\R2016a\toolbox\compiler\deploy\win64
  2.在新的裝置上找到路徑D:\Program Files\MATLAB\MATLAB Runtime\v90\runtime\win64,將其加入到環境變數。
ok,可以exe執行了。

後記

  如果希望exe能自動結束,可以在主函式m檔案end結束前加上exit;或者quit;。
  百度上總有人說如何exe檔案消除dos黑屏的問題,這是什麼意思?我還沒遇到,是個什麼具體情況?遇到的人可以交流一下。

相關文章