matlab编译器和程序发布
如何把編寫(xiě)好的matlab程序轉(zhuǎn)換成c/c++語(yǔ)言,如何編譯m文件為可執(zhí)行程序,如何在沒(méi)有matlab配置環(huán)境的機(jī)器上運(yùn)行你編譯出來(lái)的可執(zhí)行程序?
一:matlab的編譯器設(shè)置
執(zhí)行命令:mbuild -setup,注意中間有一個(gè)空格。
>> mbuild -setup Please choose your compiler for building standalone MATLAB applications: Would you like mbuild to locate installed compilers [y]/n? ySelect a compiler: [1] Lcc C version 2.4 in D:\MATLAB7\sys\lcc [0] None詢(xún)問(wèn)是否構(gòu)建本地安裝的編譯器,我們先選y。因?yàn)槲野惭b的時(shí)候,并沒(méi)有設(shè)置matlab的其他編譯器選項(xiàng),所以這里只顯示了matlab默認(rèn)的編譯器LCC。你可以選擇1,使用它提供的編譯器。如果要使用其它的編譯器,按n,結(jié)果如下:
>> mbuild -setup Please choose your compiler for building standalone MATLAB applications: Would you like mbuild to locate installed compilers [y]/n? nSelect a compiler: [1] Borland C++Builder version 6.0 [2] Borland C++Builder version 5.0 [3] Borland C++Builder version 4.0 [4] Borland C++Builder version 3.0 [5] Borland C/C++ version 5.02 [6] Borland C/C++ version 5.0 [7] Borland C/C++ (free command line tools) version 5.5 [8] Lcc C version 2.4 [9] Microsoft Visual C/C++ version 7.1 [10] Microsoft Visual C/C++ version 7.0 [11] Microsoft Visual C/C++ version 6.0 [0] None我用的matlab版本是7.0,所以只提供了這幾種編譯器。其中最常用的vc編譯器的版本與我們使用的vs發(fā)布版本對(duì)應(yīng)關(guān)系為:(摘自:http://www.cnblogs.com/mars9/archive/2012/01/13/2321710.html)
VC6.0 —————— VISUAL STUDIO 6.0VC7.0 —————— VISUAL STUDIO 2002VC7.1 —————— VISUAL STUDIO 2003VC8.0 —————— VISUAL STUDIO 2005VC9.0 —————— VISUAL STUDIO 2008VC10.0 ————— VISUAL STUDIO 2010由于我安裝的的vs版本最低的是2005,而其對(duì)應(yīng)的編譯器為vc8.0,所以matlab2007 不支持。所以這里只提供設(shè)置的方法。
我們選擇選項(xiàng)9:
Compiler: 9The default location for Microsoft Visual C/C++ compilers is C:\Program Files\Microsoft Visual Studio .NET 2003, but that directory does not exist on this machine. Use C:\Program Files\Microsoft Visual Studio .NET 2003 anyway [y]/n? n Please enter the location of your compiler: [C:\Program Files\Microsoft Visual Studio .NET 2003] d:\software\Microsoft Visual Studio 8Please verify your choices: Compiler: Microsoft Visual C/C++ 7.1 Location: d:\software\Microsoft Visual Studio 8 Are these correct?([y]/n): yTry to update options file: C:\Users\bow\Application Data\MathWorks\MATLAB\R14\compopts.bat From template: D:\MATLAB7\BIN\WIN32\mbuildopts\msvc71compp.bat Done . . .這樣就手動(dòng)設(shè)置了vc編譯器的路徑,并改寫(xiě)matlab的編譯器設(shè)置bat文件。完了以后,我們就可以用現(xiàn)在設(shè)置好的編譯器編譯M文件。
?
二:編譯M文件
用到的matlab命令是:mcc
命令格式為:
mcc[-options]mifilel[mfile2…mfileN];
options為編譯參數(shù);mfilel為待編譯的Matlab文件,如果包含多個(gè)Matlab文件,可以直接列在mfilel后面。
如:mcc -m ReadComAndDraw.m
執(zhí)行完了以后,如果沒(méi)報(bào)錯(cuò),則會(huì)生成如下的目錄結(jié)構(gòu):
第三個(gè)exe文件就可以執(zhí)行了。最后兩個(gè)是matlab將M文件轉(zhuǎn)換得到的C文件。
三:發(fā)布可執(zhí)行文件
上面生成的exe文件如果直接copy到?jīng)]有matlab環(huán)境中的機(jī)器上運(yùn)行時(shí)會(huì)報(bào)錯(cuò)的。因?yàn)槿鄙倭讼鄳?yīng)的庫(kù)支持?,F(xiàn)在你要做的是:打包Matlab組件運(yùn)行環(huán)境(Matlab Component Runtime,MCR)。將MCR與可執(zhí)行程序一起打包,拷貝到其他沒(méi)有安裝Matlab的機(jī)器上,并在該機(jī)器上安裝MCR,安裝完畢即可以直接在該機(jī)器上運(yùn)行編譯的Matlab可執(zhí)行程序。MCR安裝文件位于:Matlab安裝目錄\toolbox\compiler\deploy\win32\MCRInstaller.exe
在2008版的Matlab中,已經(jīng)內(nèi)置了Matlab編譯發(fā)布工具箱,在Matlab命令窗口中運(yùn)行deploytool命令,即可以調(diào)出該工具窗口,通過(guò)該工具可以方便、快捷地編譯發(fā)布Matlab程序。
?
先寫(xiě)到這里,以后有相關(guān)內(nèi)容再補(bǔ)充!
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/wb-DarkHorse/p/3171621.html
總結(jié)
以上是生活随笔為你收集整理的matlab编译器和程序发布的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 黑卡是什么意思
- 下一篇: [原]逆向iOS SDK -- +[UI