1.配置vs2008,在vs2008中添加matlab的安裝相關路徑
打開VC2008,新建一個工程,然後將上述四個文件複製到工程目錄下。
選擇“工具-選項-項目和解決方案-VC++目錄”,在“顯示以下內容目錄”裏選擇“包含文件”將“D:\ProgramFiles\MATLAB\R2010b\extern\include”添加進去,
選擇“工具-選項-項目和解決方案-VC++目錄”,在“顯示以下內容目錄”裏選擇“庫文件”將“D:\ProgramFiles\MATLAB\R2010b\extern\lib\win32\microsoft”添加進去,
其中D:\ProgramFiles是Matlab的安裝目錄,可根據實際情況進行修改。
2.添加dll路徑選擇“項目-屬性-配置屬性-鏈接器-輸入”,在右邊“附加依賴項”一欄填入“libmatrixp.lib
mclmcrrt.lib”,其中libmatrixp.lib就是剛剛用Matlab生成的lib文件, mclmcrrt.lib爲系統的lib文件。
3.vs2008部分代碼
#include "libmatrixp.h"
#include <iostream>
using namespace std;
void *run_main(void *x);
int main(int argc ,char *argv[])
{
int err = 0;
run_main(&err);
return 0;
}
void *run_main(void *x)
{
int *err = (int *)x;
if (err == NULL) return 0;
if(!mclInitializeApplication(NULL,0))
{
cerr <<"could not initialize "<<endl;
return x;
}
if (!libmatrixpInitialize())
{
cerr <<"could not initialize "<<endl;
return -1
}
else
{
double data[] = {1,2,3,4,5,6,7,8,9};
mwArray in1(3,3,mxDOUBLE_CLASS,mxREAL);
mwArray in2(3,3,mxDOUBLE_CLASS,mxREAL);
in1.SetData(data,9);
in2.SetData(data,9);
mwArray out;
MyFunc(1,out,in1,in2);
cout<<"the value of added matrix is:" <<endl;
cout<<out<<endl;
libmatrixpTerminate();
}
mclTerminateApplication();
return 0;
}