Matlab R2010a和vs 2010混合程式設計

2021-08-04 21:14:16 字數 1539 閱讀 1291

matlabr2010a與vs2010 c++混合程式設計成功,在vs2010 c++中能夠呼叫matlab的m函式,進行計算,得到正確結果,呼叫matlab中m函式轉化成的dll檔案

一、matlab編譯環境的設定

mex –setup

pleasechoose your compiler for building external inte***ce (mex) files:

would you like mex to locate installed compilers [y]/n? n

這個地方如果選擇y,那麼就看不到vs2010 c++的編譯器,只能看到c++6.0的(我電腦裡裝了這兩個),我之前寫的就是用c++6.0的編譯器編譯的dll,再用vs2010可以呼叫成功的。如果這時候你想選擇vs2010 c++的編譯器,就要選擇n,我想也應該可以的。

mbuild –setup

同上 舉例:建立所需的matlab函式檔案 myadd.m

function [c] = myadd(a, b);

c = a + b;

然後,進行編譯,命令如下:

mcc -w cpplib:libmyadd -t link:lib myadd.m–c

會生成如下檔案:

libmyadd.cpp(這裡有函式介面說明)

libmyadd.dll

libmyadd.h

libmyadd.ctf

libmyadd.lib

這四個是要用到的檔案。

vs2010專案目錄設定(mfc):

第一步:新增生成的動態鏈結庫檔案

把四個要要用到的檔案,複製到vs工程目錄下

第二步:選擇專案->專案屬性。選擇c/c++->常規->附加包含目錄:d:\program files\matlab\matlab compiler runtime\v713\extern\include(選擇matlab r2010a編譯器路徑,這樣可以在沒有安裝matlab的機器上執行,但必須安裝matlab的編譯器mcr)

把matlab提供的include路徑新增到vc++的標頭檔案搜路路徑。

第三步:聯結器->常規->附加庫目錄:d:\program files\matlab\matlabcompiler runtime\v713\extern\lib\win32\microsoft(選擇matlab r2010a編譯器路徑,這樣可以在沒有安裝matlab的機器上執行,但必須安裝matlab的編譯器)

新增matlab生成的響應的lib所在目錄加入。

第四步:聯結器->輸入->附加依賴項:libmyadd.lib;mclmcrrt.lib(中間必須是回車分開,回車以後自動生成「;「,不是空格鍵,也不是手動新增;這個,不然會出現找不到」libmyadd.lib;mclmcrrt.lib「錯誤)

設定完成!

**裡要新增標頭檔案即可

如果編譯會有錯誤:「char16_t」: 重定義;不同的基型別「

只需要在」 libmyadd.h」中新增如下**即可:

vs2010和Matlab R2012a 混合程式設計

本人系統windows 7旗艦版,32位,採用由m檔案構造動態鏈結庫然後在visual studio中呼叫的方法。1.matlab 環境配置 注 matlab r2010b及以後版本才支援vs2010,之前版本中mbuild命令輸入後可能會找不到vs2010編譯器。2.書寫m檔案 示例如下 func...

Matlab R2010在centost下的安裝

更新安裝 yum install libxp 建立目錄 mkdir usr local matlab2010 建立mount目錄 mkdir mnt matlab 掛載iso檔案 mount opt mathworks.matlab.r2010a.unix.iso tbe.iso mnt matla...

vs2010安裝和使用

vs2010是之前我跟老師做 專案時安裝的,這次軟體工程作業我就用它了,安裝過程中的截圖就不存在了,我就詳細說說它的使用吧。下面讓我們用vc2010來做乙個控制台的helloworld程式吧。vs2010裡面不能單獨編譯乙個.cpp或者乙個.c檔案,這些檔案必須依賴於某乙個專案,因此我們必須建立乙個...