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;
}