介紹如下:
要將用Matlab語言編寫的函數文件編譯成可獨立執行的*.exe文件(即可脫離Matalab環境的執行程序),首先要安裝和配置好Matlab Compiler,一般來說,在安裝Matlab時就已經安裝了相應版本的Matlab Compiler。只是不同版本的Matlab,其編譯器的使用方法有一定的差異,這一點要引起一定的注意。
在確定安裝好Matlab Compiler後,還需要對Compiler進行適當的配置,方法是在Matlab命令窗口輸入:
Mbuild –setup
然後根據提示執行相應的操作,使用者可根據自己計算機中現有編譯器的情況選擇合適的編譯器,如VC++ 6.0、VC++7.0、Bland C的編譯器等,目前Matlab好象還不支持VC++8.0(我計算機安裝的就是VC++2005,Matlab就無法識別)。當然,如果你的計算機里根本就沒有安裝其他任何語言的編譯器,也可選擇Matlab自帶的Lcc編譯器,其實這個編譯器對大多數用戶已經夠用了(我就是選擇的Matlab自帶的Lcc編譯器)。
配置好編譯器後,自然就是對自己編寫的M文件進行編譯了。
將M文件編譯為獨立可執行文件的語法是:
>>mcc –m fun1.m fun2.m…..
其中fun1就是最後的可執行文件的名稱。
另外,也可通過採用命令開關-o指定編譯最終目標文件的名稱,如 mcc –m main.m –o mrank_main,就是將編譯後的文件指定為mrank_main.exe。
編譯後的生成文件根據編譯器的版本不同而不同。具體的可參閱相關資料。
如果要在沒有安裝matlab的計算機上執行編譯後的程序,首先要將\MATLAB701\toolbox\compiler\deploy\win32中的MCRinstaller.exe安裝到該計算機上(7.0以前的版本是mglinstaller.exe)。
其次是要將「MCRinstaller.exe安裝目錄\runtime\win32」這個路徑添加到該計算機的環境變數中,添加的方法是:
右擊「我的電腦」「屬性」「高級」「環境變數」「添加」指定一個變數名,然後將上述路徑復制到裡面就可以了。
第三步是將編譯生成的相相關文件拷貝到同一目錄下(當然其他目錄亦可)。
第四步是打開MS-dos操作窗口,進入到編譯後的*.exe程序所在的目錄,執行編譯生成的*.exe文件即可。
需要說明的一個問題:
如果你的程序還附帶有圖片(如Version上的圖標)、Web頁面(如help文檔),在編譯的時候可能無法與M文件一起編譯(因為我沒有試過,也沒有看到有關這方面的介紹),這沒有關系,先在計算機上執行一次你編譯後生成的獨立可執行文件,這時在同一目錄下會生成一個以你編譯後的程序名+_mcr結尾的文件夾,這時,你只需要把與程序相關的圖標和Web頁面拷貝到該文件夾中的Matlabprogram下面的一個子目錄(一般與用於編譯的文件夾名相同)中即可。
其他的方法還有:(以下是網上搜索到的方法,沒有試驗過,有興趣的朋友可以試一試)
方法一:在matlab下的workspace里打comtool,點file-open project將我們先前建好的comtest.cbl工程文件打開,再點component--package component就實現了打包,此時到comtest\distrib文件夾里看,生成的comtest.exe就是打包後的解壓程序,雙擊它會解壓出一些文件,再點擊解壓出來的_install.bat就可以實現安裝
方法二:如何將gui生成exe ?
已有gui.m文件和gui.fig文件
1 在matlab的command窗口中輸入
mcc -B sgl GUI.m
2.將上步生成的文件包括*.m 文件和*.fig文件一起考到待運行的機器
此時仍需matlab所必需的動態連接庫。
3. 將 <matlab path >/extern/lib/win32/mglinstallar.exel拷貝到到待運行機器上
4.在機器上先運行mglinstallar.exe, 然後選擇解壓目錄,將在指定目錄下解壓縮出bin和toolbox兩子目錄,其中在bin\win32目錄下就是數學庫和圖形庫脫離MATLAB運行所需的所有動態連接庫,共有37個。可以將這些.dll考入system32, 也可以直接放在應用程序目錄下。而toolbox目錄則必須與應用程序同一目錄。
5.大功告成。
方法三:運行mcc -B sgl GUI.m 生成exe文件,把GUI.exe文件和GUI.ctf文件拷貝到目標電腦上,然後在目標電腦上安裝 MCRInstaller.exe ,安裝完以後,我點擊GUI.exe,它顯示:this application has requested the Runtime to terminate it in an unusual way。這個可能是哪裡出錯了呢?
Solution:
The segmentation violation can be caused e to a corruption in either the profile of the current user or by corrupted Windows libraries. In order to determine which is the cause, try logging in as a different username and run MATLAB.
If you are able to successfully launch MATLAB under a different username:
1. Log onto the machine, as the user that is receiving the error.
2. On your desktop, click on Start > Run
3. Type "regedit" in the Open text field and click OK, this will bring up the Registry Editor
4. In the Registry Editor expand the following folders: HKEY_CURRENT_USER > Software > MathWorks > Matlab
5. Under the MATLAB key, find the folder having the same name as the version number of the MATLAB that is crashing; and delete it. This Registry key will be regenerated the next time MATLAB is started.
Click on the link below to view an image of the Registry Editor, which shows how to delete a registry key for MATLAB 6.5 (R13).
After following these steps, you should be able to launch MATLAB successfully.
If MATLAB crashes regardless of the user who is logged in, the crash may be caused by corrupted system libraries. For Windows NT, 2000, or XP, some customers have found that reinstalling Windows Service Packs have resolved the issue
❷ 如何將MATLAB程序編譯成exe文件
1.設置編譯器:
在確定安裝好Matlab
Compiler後,還需要對Compiler進行適當的配置,方法是在Matlab命令窗口輸入:
mbuild –setup, 按提示選擇matlab自帶編譯器LCC。
2.將程序編譯成exe文件:
(1)如果全是M文件
調用格式:
Mcc -m mainmfile mfile1 mfile2 ……
mfileN;
第一個mainmfile 為主程序(main
function),其餘均為需要的M文件。
(2)如果是GUI文件
例如mygui.fig 和mygui.m,編譯這個GUI的命令是:
>>mcc -m
mygui
(3)如果既有GUI文件,又有M文件(誰是主程序,誰放在前)
①>>mcc -m mygui mfile
(mygui是主程序,即mygui中用到mfile.m);
②>>mcc -m mfile
mygui(mfile是主程序,即mfile.m中用到mygui)。
(4)如果GUI用到ActiveX控制項
>>mcc -m mygui -a
myactivex
myactivex
是ActiveX控制項的文件名。
編譯完成後,可通過雙擊生成.exe文件;或者在matlab命令行輸入帶「!」的命令:
>>! mainmfile
(主程序文件名)
3.編譯後的文件可以先打包成一個.exe文件,然後再用隱藏DOS窗口的軟體將該.exe文件彈出的DOS窗口隱藏。
(1)打包軟體很多。如MoleBox Pro;
(2)隱藏DOS窗口的方法或軟體也很多,在各大Matlab論壇上都有,例如:Matlab中文論談。
下面介紹兩種隱藏方法:
方法一: 在命令窗口輸入:
cd(prefdir)
edit compopts.bat
根據你使用的環境,在打開的文件最後添加以下語句:
A.VC環境下:
set
LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup
B.LCC環境下:
set LINKFLAGS=%LINKFLAGS%
-subsystemwindows
C. Borland:
set LINKFLAGS=%LINKFLAGS% -aa
保存以後,再重新編譯m文件,生成的exe文件運行起來就沒有dos窗口了。
方法二:使用suppress工具,點擊下列地址下載(具體操作裡面有說明)。
http://www.mathworks.com/matlabcentral/fx_files/3909/1/suppress.zip
方法一生成的exe再到沒有任何安裝MATLAB的機子上運行也不會有黑屏了。
方法二的缺點就是要同時存在您生成的exe以及supress.exe,必須在同一目錄下。
4.如果目標計算機上沒有安裝該版本的matlab,上面生成的exe文件不能正常運行,解決方法有二:
(1)將該執行文件所需要的dll文件都復制到目標計算機上;
(2)在目標計算機上安裝MCRinstaller.exe。(該文件位於matlab安裝目錄下的
\toolbox\compiler\deploy\win32內)。
將「MCRinstaller.exe安裝目錄\runtime\win32」這個路徑添加到目標計算機的環境變數中,通常是自動載入。
如果沒有,也可手動安裝,添加的方法是:
右擊「我的電腦」「屬性」「高級」「環境變數」「添加」指定一個變數名,然後將上述路徑復制到裡面就可以了。
註:在安裝過程中會彈出讓安裝Microsoft.NETFramework可以不用安裝。
最後就是將編譯生成的相相關文件拷貝到同一目錄下,雙擊即可運行。
❸ 編寫了一個MATLAB腳本,想用python打包成exe
matlab文件如何封裝成exe文件
不論是Java還是c++,甚至是Python,都能編譯出脫離環境可(安裝)運行的exe或apk文件,那麼matlab能不能封裝成exe文件,從而在別人沒有裝matlab的終端上也能運行呢?其實這個工具是有的。但是想說在前面的是,要運行m文件轉成的exe,亦需要在機子安裝一個依賴包文件。所以,想要在別人機子上運行程序,必須將exe文件連通依賴包安裝工具一起拷給別人,而這個工具大到500多M,並不是那麼小巧。這一步是必須的,我們也不能苛求太多,畢竟matlab本身就是一個科學計算軟體,而不是軟體開發工具。
安裝並選擇編譯器。
在matlab命令行輸入mbuild -setup,(注意空格),選擇一個編譯器,如果沒有,可以選擇matlab自帶的LCC編譯器,也可以馬上下一個VC6.0安裝一下,再運行命令,就有了。一般選擇c編譯器。
調用編譯器完成m文件到exe文件的轉換
命令行窗口輸入mcc -m filename(這里的filename是文件名),完成m文件到exe文件的轉化。
這個過程可能會報「Test checkout of feature 『Compiler』 failed」的錯誤,這是因為你破解的matlab不徹底,解決的方法是:
按操作替換三個文件即可
無依賴環境exe文件的打開
D:\MATLAB\R2014a\toolbox\compiler\deploy\win64目錄下找到應用程序MCRInstaller,連同exe文件發給別人。接收者雙擊安裝MCR便可打開m轉成的exe。
不同的人,不同的機子,不同的matlab遇到的問題肯定是不一樣的,這里無法一一解釋,若有遇到其他問題,可以留言。
MCR鏈接庫提供了一個matlab的運行環境,這個是需要手動安裝的,當然,也可以這樣————
將MCRInstaller.exe拷貝到你文件所在文件夾里,用打包程序來打包,生成安裝文件,設定在解包過程中自動執行MCRInstaller.exe,同時將可執行文件的圖標放在桌面。
❹ matlab安裝好以後啟動的文件在哪裡
matlab安裝好以後啟動的文件在安裝目錄中。
1、首先打開電腦,雙擊打開電腦桌面上的「我的電腦」。
❺ 如何將matlab程序打包圖解
打包步驟如下:
MATLAB命令窗口輸入deploytool,打開一個Eeployment Project的窗口:
1.在Name輸入你想要打包後的文件的名字;
2.在Location輸入你MATLAB當前的路徑;
3.在Target選擇第一項Windows Standalone Application;
4.確定後打開Depolyment Tool窗口,在窗口中有一個[Add main file],點擊就可以增加你要轉換的文件,最後點擊Package即可。
在未安裝matlab的電腦上使用步驟:
首先從安裝matlab的電腦上拷貝兩個文件:
1.「MCRInstaller.exe」(在matlab安裝目錄「*:\Program Files\MATLAB\R2010b\toolbox\compiler\deploy\win32」下);
2.在生成的安裝包中拷貝exe,如:生成的包中「...\zhytool\Untitled2\src」,找到Untitled2.exe。
然後將這兩個exe文件考到未裝matlab的新電腦上:
1.雙擊「MCRInstaller.exe」,所有選項默認,直至完成安裝;
2.雙擊Untitled2.exe,可以使用。