C/C++下調用matlab函數操作說明


1.matlab的安裝

連接:http://pan.baidu.com/s/1qXuF7aO

安裝32位版本的matlab(在目錄下bin文件夾中有兩個文件夾,選擇win32文件夾下的setup進行安裝)

2.matlab mex編譯器配置

安裝完matlab之后,需要設定對應的c++編譯器才能編譯.m文件生成可供c++調用的庫文件。打開matlab,在命令行輸入:mex -setup,選擇已安裝的vc編譯器

我的matlab版本是R2010b,選擇的是[2] Microsoft Visual C++ 2008 Express,然后一直選擇y直到看到Done

然后繼續在命令行中輸入:mbuild -setup  ,按照上述類似的方式設置編譯器

 

假設存在一個Add.m的文件需要編譯成庫文件,

Add.m文件

function C=Add(A,B)

     C=A+B;

end

使用命令編譯:mcc -W cpplib:libAdd  -T link:lib Add.m

成功編譯會在Add.m的路徑下生成一些文件:

如果出現錯誤,可能是編譯器配置錯誤,依次輸入一下兩行命令查看配置文件:

>> cd(prefdir)

>> edit compopts.bat

set VSINSTALLDIR=  這里如果是空值,需要將電腦中安裝的VC路徑寫到這里

3.創建c++程序調用matlab函數

將前面生成的libAdd.dll"、"libAdd.h"和"libAdd.lib"三個文件拷貝到新建的vc工程中,並配置工程屬性,添加matlab安裝目錄下extern中include文件夾,我的是D:\matlab\extern\include

然后配置庫目錄:

添加D:\matlab\extern\lib\win32\microsoft這里需要注意的是,該路徑下有" mclmcrrt.lib"文件,是我們需要的。

最后配置link連接器,添加:

libeng.lib

libmat.lib

libmex.lib

libmx.lib

mclmcrrt.lib

mclmcr.lib

libAdd.lib(最后這一個是Add.m生成的)

下面的c++程序實現調用

結果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM