導航:首頁 > 源碼編譯 > matlab編譯

matlab編譯

發布時間:2022-01-12 12:40:31

linux下怎麼編譯matlab m文件

安裝matlab_linux,linux下matlab的下載以及安裝的參考連接,http://bbs.feng.com/read-htm-tid-6280022.html。
啟動matlab,在matlab命令行上設置編譯器,使用命令如下:
mex -setup
啟動編譯工具,deploytool,命令如下,安裝圖形界面添加需要編譯的文件,並開始編譯,可以編譯成可執行文件或者動態鏈接庫。若希望直接執行,編譯成動可執行文件即可,若和其他語言混編,可以做成動態鏈接庫,可以根據需要在圖形界面上進行配置。本實驗是做成一個可執行文件。
deploytool
假設應用程序名稱為,Test,這編譯完成後會生成一個Test文件夾,我們需要的可執行文件就在Test/distrib目錄下。此時distrib 目錄下面有兩個文件,一個是run_Test.sh腳本文件和Test可執行文件。此時執行run_Test.sh文件,並不能執行,因為在Linux下,默認不會安裝MCR,需要手動安裝,MCR所在的路徑為:matlab按照路徑/toolbox/compiler/deploy/glnx86。安裝完MCR後,執行如下命令,即可執行編譯生成的Test文件。
run_Test.sh MCR_Install_Dir
若不想使用run_Test.sh腳本,直接運行Test文件,只需要設置兩個環境變數即可,分別是:
export XAPPLRESDIR=/opt/matlab2009b/X11/app-defaults
LD_LIBRARY_PATH=/opt/matlab2009b/runtime/glnx86:/opt/matlab2009b/bin/glnx86:/opt/matlab2009b/sys/os/glnx86:/opt/matlab2009b/sys/java/jre/glnx86/jre/lib/i386/native_threads:/opt/matlab2009b/sys/java/jre/glnx86/jre/lib/i386/server:/opt/matlab2009b/sys/java/jre/glnx86/jre/lib/i386/client:/opt/matlab2009b/sys/java/jre/glnx86/jre/lib/i386
其中,/opt/matlab2009b,為matlab的安裝路徑,此時可以直接運行,Test文件了。

② 如何將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程序編譯成exe文件

我也是最近才搞定的這個問題,按下述步驟進行,就沒有問題,我已經運行成功,但是遇到你程序的bug的話,便會出現錯誤,關閉整個程序
希望這些對你有用

如何將MATLAB程序編譯成獨立可執行的程序?如何將編譯好的獨立可執行程序發布在沒有安裝MATLAB的電腦上?下面將一步步實現:

一、生成獨立可執行的程序(exe文件)步驟

1、安裝編譯器。可有多種選擇,matlab自帶了一個LCC,推薦使用VC++6.0,我基於VS 2003實現。
2、設置編譯器。在matlab命令行輸入mbuild –setup以及mex –setup,選擇安裝的c編譯器。
3、調用編譯器。此處使用MATLAB下的一個GUI平台deploytool下完全實現。在命令窗口輸入deploytool即可看到。具體使用方法請Help。
當然,也可以輸入mcc -m filaname, filaname為要轉成exe的m文件;
註:在以前的版本中,用編譯命令mcc -B sglcpp filaname;自2006的版本後,替換為mcc -mfilaname;
4、安裝<matlab path>\toolbox\compiler\deploy\win32目錄下的MCRInstaller。

二、脫離matlab運行可執行程序
MCR是由matlab的運行環境,佔用不到300M的對於用不同matlab版本生成的exe文件,MCR版本也會有不同,因此,在程序打包時,最好將相應版本的MCR一起打包。MCR環境的設置文件存放目錄如下:
<matlab path> \toolbox\compiler\deploy\win32
文件名為MCRInstaller.exe。可將其拷貝到自己的文件夾中,(7.0以前的版本是mglinstaller.exe)。
在MATLAB里運行可執行程序的辦法是在前面加一個!,比如:!picshow,後綴名可有可無。
在其它沒有安裝matlab的機器上運行exe文件前:
首先安裝matlab的運行環境。在同一機器上可以並存不同版本的matlab環境(換句話說不同版本不兼容)。
其次是要將「MCRinstaller.exe安裝目錄\runtime\win32」這個路徑添加到該計算機的環境變數中,通常是自動載入。
如果沒有,也可手動安裝,添加的方法是:
右擊「我的電腦」「屬性」「高級」「環境變數」「添加」指定一個變數名,然後將上述路徑復制到裡面就可以了。
註:在安裝過程中會彈出讓安裝Microsoft.NETFramework可以不用安裝。
最後就是將編譯生成的相相關文件拷貝到同一目錄下,雙擊即可運行。
問題:目前此方法可完全運行在沒有安裝MATLAB以及C/C++的電腦上,但是如果是在AMD的CPU可以運行,但是不會出現任何MATLAB編譯的界面。
美中不足就是,運行的時候dos的那個黑色地窗口一直存在。下面將實現去除黑屏的辦法:

消除運行MATLAB生成的exe程序的dos黑屏的辦法
基於MATLAB生成exe文件後,每次運行都存在dos黑屏的問題,現在可以通過以下方法解決:
方法一: 在命令窗口輸入:
cd(prefdir)
edit compopts.bat
在打開的文件最後添加以下語句:

A.VC環境下:

set LINKFLAGS=%LINKFLAGS%/SUBSYSTEM:WINDOWS /ENTRY:mainCRTStartup

B.LCC環境下:
set LINKFLAGS=%LINKFLAGS% -subsystemwindows

④ matlab如何編譯

一般需要用 function定義的子文件可執行,只有一個主文件,並將M文件放在一起即可……下面有個示例希望對你有幫助

⑤ matlab如何編譯mex文件

通過MEX文件可以在MATLAB中像調用內嵌函數一樣調用現有的使用C語言和Fortran等語言編寫的函數,實現了代碼重用,同時也能解決MATLAB循環效率低的缺點,提高MATLAB環境中數據處理的效率。
MEX文件的後綴名為 .mexw32
MEX文件的編寫和編譯需要兩個基本條件:一是必須按照MATLAB應用程序介面組件和相關工具,二是要有C語言或Fortran語言的編譯器。
需要對MATLAB系統進行設置,使MATLAB系統知道使用系統的哪一個C語言編譯器,以及其參數和路徑。
MEX文件系統設置:
>> mex –setup按照提示進行,最後出現Done…系統配置完畢。
C語言MEX文件的建立
C語言MEX文件的建立
1. MEX文件的結構
a) 計運算元程序
b) 入口子程序,void mexFunction(int nlhs, mxArray *plhs[],int nrhs,const mxArray *prhs[]){ /*用戶特定的代碼….*/ }
2. 創建timestwoalt.c
#include "mex.h"
void timestwo_alt(double *y, double x)
{
*y = 2.0*x;
}
void mexFunction( int nlhs, mxArray *plhs[],
int nrhs, const mxArray *prhs[] )
{
double *y;
doublex;
/* 檢查參數 */
if (nrhs != 1) {
mexErrMsgTxt("One input argument required.");
} else if (nlhs > 1) {
mexErrMsgTxt("Too many output arguments.");
} else if (!mxIsNumeric(prhs[0])) {
mexErrMsgTxt("Argument must be numeric.");
} else if (mxGetNumberOfElements(prhs[0]) != 1 || mxIsComplex(prhs[0])) {
mexErrMsgTxt("Argument must be non-complex scalar.");
}
/* 為輸出參數創建變數 */
plhs[0] = mxCreateDoubleMatrix(1,1,mxREAL);
/*
為參數 x、y賦值,x為值,而y為指針
(由於MATLAB沒有值傳遞,所以用指針才能得到修改後的y值,
不然修改的是y的一個副本,為臨時變數,在函數返回時,y值沒有變化,
不能得到希望的結果)
*/
x = mxGetScalar(prhs[0]);
y = mxGetPr(plhs[0]);
/* 調用timestwo_alt 子函數 */
timestwo_alt(y,x);
}
3. 編譯鏈接C語言的MEX文件源程序,在MATLAB的控制窗口中輸入:mex timestwoalt.c生成一個名為timestwoalt.mexw32的MEX文件
4. 運行:在MATLAB的控制窗口中輸入
x=2;
y=timestwoalt(x)
輸出:y=4
MEX文件實現了一種C語言與MATLAB的介面,其實際的計算功能仍在C語言形式的計運算元程序中完成,而入口子程序的功能是檢查參數以匹配C語言的參數規范(how to?)。
當有C語言編寫的大型程序時,不必用MATLAB語言重新編寫,只要將此C語言程序作為一個計運算元程序,然後編寫一個入口子程序,完成參數的匹配,然後編譯成MEX文件即可。
MEX文件的另外一個功能是可以將MATLAB編程中的瓶頸問題,如多重循環等,將此類費時的指令用C語言實現,然後作必要的入口子程序,編譯成MEX文件,可以有效地提高MATLAB的效率。
S-函數創建器限制了C語言S-函數的功能:只能有一個輸入信號和一個輸出信號,而且只能處理double類型的數據!所以,可用性不大。

⑥ MATLAB需要支持的編譯器

在MATLAB的Command Window下輸入命令 mbuild –setup,並根據MATLAB的提示選擇合適的編譯器,使用Microsoft Visual C++6.0,進行對C++連接環境的設置。
過程如下:
>> mbuild -setup
按照提示選擇操作,選擇編譯器進行安裝
然後,在MATLAB的Command Window下輸入命令 mex –setup,進行對編譯環境的設置。過程如下:
>> mex -setup
按照提示選擇操作,選擇你所需要的編譯器就可以了。

⑦ matlab中.m文件怎樣進行編譯

直接運行.m文件,如果有錯,會在command window 里進行提示的。再點擊錯誤處就會跳到相應的錯誤行。

⑧ 如何使用matlab與vs編譯器

1. 安裝
單獨安裝、和MATLAB同時安裝。
2. 設置(以vs2005為例)
>> mbuild -setup
Please choose your compiler for building standalone MATLAB applications:

Would you like mbuild to locate installed compilers [y]/n? y

Select a compiler:
[1] Lcc-win32 C 2.4.1 in D:\PROGRA~1\MATLAB\R2010a\sys\lcc
[2] Microsoft Visual C++ 2008 SP1 in D:\Program Files\Microsoft Visual Studio 9.0
[3] Microsoft Visual C++ 2005 SP1 in C:\Program Files\Microsoft Visual Studio 8

[0] None

Compiler: 3

Please verify your choices:

Compiler: Microsoft Visual C++ 2005 SP1
Location: C:\Program Files\Microsoft Visual Studio 8

Are these correct [y]/n?

Trying to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R2010a\compopts.bat
From template: D:\PROGRA~1\MATLAB\R2010a\bin\win32\mbuildopts\msvc80compp.bat

Done . . .

3. 使用
(1)在 MATLAB 環境中使用 mcc 命令;
(2)在系統命令環境中使用 mcc.exe (在Windows上);
(3)在 MATLAB 環境中使用 Deployment Tool。
4. 程序發布
(1)使用 MATLAB 命令 builder;
(2)使用 Deployment Tool 圖形化工具。
一般來說,需要發布的文件有3個:
(1)編譯得到的可執行文件或庫函數;
(2)CTF 文件;
(3)MCRInstaller.zip。
在最終用戶的計算機上,首先需要把MCRInstaller.zip 解壓,並把 MCR 中可執行文件所在目錄添加到系統路徑上,然後就可以使用編譯後的程序了。

⑨ MATLAB 編譯

M-file里設置端點debug-set/enable breakpoint
然後在主界面的Workspace里有所有變數的值~~

⑩ 如何將MATLAB程序編譯成獨立可執行的程序

一、生成獨立可執行的程序(exe文件)步驟

1、安裝編譯器。可有多種選擇,matlab自帶了一個LCC,推薦使用VC++6.0,我基於VS 2003實現。

2、設置編譯器。在matlab命令行輸入mbuild –setup以及mex –setup,選擇安裝的c編譯器。

3、調用編譯器。此處使用MATLAB下的一個GUI平台deploytool下完全實現。在命令窗口輸入deploytool即可看到。具體使用方法請Help。
當然,也可以輸入mcc -m filaname, filaname為要轉成exe的m文件;
註:在以前的版本中,用編譯命令mcc -B sglcpp filaname;自2006的版本後,替換為mcc
-mfilaname;

4、安裝<matlab
path>\toolbox\compiler\deploy\win32目錄下的MCRInstaller。

二、脫離matlab運行可執行程序
MCR是由matlab的運行環境,佔用不到300M的對於用不同matlab版本生成的exe文件,MCR版本也會有不同,因此,在程序打包時,最好將相應版本的MCR一起打包。MCR環境的設置文件存放目錄如下:

<matlab path>
\toolbox\compiler\deploy\win32
文件名為MCRInstaller.exe。可將其拷貝到自己的文件夾中,(7.0以前的版本是mglinstaller.exe)。
在MATLAB里運行可執行程序的辦法是在前面加一個!,比如:!picshow,後綴名可有可無。
在其它沒有安裝matlab的機器上運行exe文件前:
首先安裝matlab的運行環境。在同一機器上可以並存不同版本的matlab環境(換句話說不同版本不兼容)。
其次是要將「MCRinstaller.exe安裝目錄\runtime\win32」這個路徑添加到該計算機的環境變數中,通常是自動載入。
如果沒有,也可手動安裝,添加的方法是:
右擊「我的電腦」「屬性」「高級」「環境變數」「添加」指定一個變數名,然後將上述路徑復制到裡面就可以了。
註:在安裝過程中會彈出讓安裝Microsoft.NETFramework可以不用安裝。
最後就是將編譯生成的相相關文件拷貝到同一目錄下,雙擊即可運行。
問題:目前此方法可完全運行在沒有安裝MATLAB以及C/C++的電腦上,但是如果是在AMD的CPU可以運行,但是不會出現任何MATLAB編譯的界面。
美中不足就是,運行的時候dos的那個黑色地窗口一直存在。下面將實現去除黑屏的辦法:

消除運行MATLAB生成的exe程序的dos黑屏的辦法
基於MATLAB生成exe文件後,每次運行都存在dos黑屏的問題,現在可以通過以下方法解決:
方法一: 在命令窗口輸入:
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工具:
下載附件中的suppress壓縮包後解壓,(當然您可以自己去Google然後再下載)會看到一個suppress.ini文件,用記事本打開,然後將
其中「Name=test.exe」中text.exe的改為你生成的exe文件名。將suppress.exe(有個關盤和顯示器的圖標),改後的
suppress.ini放到你生成的exe的同目錄下。執行suppress.exe或者您自己生成的exe可以了。當然您可以自己修改
suppress.exe的名字,改為您自己想要的名字。

其中的方法一在使用後生成的exe再到沒有任何安裝MATLAB的機子上運行也不會有黑屏了。
方法二的缺點就是要同時存在您生成的exe以及supress.exe,必須在同一目錄下。

閱讀全文

與matlab編譯相關的資料

熱點內容
精品php源碼 瀏覽:960
自己編寫雲伺服器搶紅包 瀏覽:203
java解壓縮文件加密 瀏覽:887
dlink列印伺服器默認地址 瀏覽:353
php休眠函數 瀏覽:372
金蝶如何打開伺服器 瀏覽:766
e4a手游輔助源碼 瀏覽:777
什麼app可以實時直播 瀏覽:106
蘋果13的app閃退什麼原因 瀏覽:775
尾盤選股源碼公式 瀏覽:450
php日期運算 瀏覽:931
天龍八部長歌伺服器什麼時候開的 瀏覽:199
鬼泣4模型在那個文件夾 瀏覽:229
單片機的串列口 瀏覽:58
phpjson轉化為數組 瀏覽:268
pdf導入excel 瀏覽:428
蘋果xsmax信任app在哪裡設置 瀏覽:53
自動外鏈php源碼 瀏覽:245
我的世界新手獎勵箱命令 瀏覽:146
linux更新vim 瀏覽:998