1.matlab的安裝
連線:安裝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++程式實現呼叫
結果:
MATLAB呼叫C C 函式的方法
已有 8167 次閱讀 2010 5 5 13 42 個人分類 遙感程式開發 系統分類 科研筆記 通過matlab將c c 函式編譯成mex函式,在matlab中就可以呼叫了。1,首先裝編譯器 matlab裡鍵入mex setup,選擇你要編譯c 的編譯器 2,寫c 函式 函式的形式必須是 void...
matlab練習程式(c c 呼叫matlab)
就我目前了解的c 呼叫matlab有兩種方法。第一種是通過matlab引擎呼叫,也就是這裡用到的方法。第二種是用matlab將m檔案編譯為相應的h lib dll檔案再加以呼叫。使用engine所用到的h和lib檔案基本在d program files matlab r2010b extern裡面,...
matlab呼叫c 函式
經常會遇到乙個問題,就是怎麼用matlab來呼叫已經寫好的c 下面就學習一下。首先要明白呼叫c 需要用到mex,他主要和matlab的主要介面,介面的主要入口為如下函式 void mexfunction int nlhs,mxarray plhs,int nrhs,const mxarray prh...