matlab编译器和程序发布
如何把編寫好的matlab程序轉換成c/c++語言,如何編譯m文件為可執行程序,如何在沒有matlab配置環境的機器上運行你編譯出來的可執行程序?
一:matlab的編譯器設置
執行命令:mbuild -setup,注意中間有一個空格。
>> 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詢問是否構建本地安裝的編譯器,我們先選y。因為我安裝的時候,并沒有設置matlab的其他編譯器選項,所以這里只顯示了matlab默認的編譯器LCC。你可以選擇1,使用它提供的編譯器。如果要使用其它的編譯器,按n,結果如下:
>> 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發布版本對應關系為:(摘自: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,而其對應的編譯器為vc8.0,所以matlab2007 不支持。所以這里只提供設置的方法。
我們選擇選項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 . . .這樣就手動設置了vc編譯器的路徑,并改寫matlab的編譯器設置bat文件。完了以后,我們就可以用現在設置好的編譯器編譯M文件。
?
二:編譯M文件
用到的matlab命令是:mcc
命令格式為:
mcc[-options]mifilel[mfile2…mfileN];
options為編譯參數;mfilel為待編譯的Matlab文件,如果包含多個Matlab文件,可以直接列在mfilel后面。
如:mcc -m ReadComAndDraw.m
執行完了以后,如果沒報錯,則會生成如下的目錄結構:
第三個exe文件就可以執行了。最后兩個是matlab將M文件轉換得到的C文件。
三:發布可執行文件
上面生成的exe文件如果直接copy到沒有matlab環境中的機器上運行時會報錯的。因為缺少了相應的庫支持。現在你要做的是:打包Matlab組件運行環境(Matlab Component Runtime,MCR)。將MCR與可執行程序一起打包,拷貝到其他沒有安裝Matlab的機器上,并在該機器上安裝MCR,安裝完畢即可以直接在該機器上運行編譯的Matlab可執行程序。MCR安裝文件位于:Matlab安裝目錄\toolbox\compiler\deploy\win32\MCRInstaller.exe
在2008版的Matlab中,已經內置了Matlab編譯發布工具箱,在Matlab命令窗口中運行deploytool命令,即可以調出該工具窗口,通過該工具可以方便、快捷地編譯發布Matlab程序。
?
先寫到這里,以后有相關內容再補充!
?
?
轉載于:https://www.cnblogs.com/wb-DarkHorse/p/3171621.html
總結
以上是生活随笔為你收集整理的matlab编译器和程序发布的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 黑卡是什么意思
- 下一篇: matlab 已知函数值纵坐标值(Y值)