vs2010调用matlab2010b,VS2010调用matlab2010b引擎

VS2010环境配置(32位的运行平台对应32位的matlab)

1. 建立win32工程,添加C++测试代码:

#include

#include "windows.h"

#include "math.h"

#include "engine.h"

int main()

{

const int N = 50;

double x[N], y[N];

int j = 1;

for(inti = 0;i

{

x[i] = (i + 1);

y[i] =sin(x[i]) +j * log(x[i]);

j*= -1;

}

Engine*pEng =NULL;

//open engine

if (!(pEng =engOpen(NULL)))

{

std::cout<

system("pause");

return-1;

}

mxArray*xx =mxCreateDoubleMatrix(1,N,mxREAL);

mxArray*yy =mxCreateDoubleMatrix(1,N,mxREAL);

memcpy(mxGetPr(xx),x,N*sizeof(double));

memcpy(mxGetPr(yy),y,N*sizeof(double));

engPutVariable(pEng,"xx",xx);

engPutVariable(pEng,"yy",yy);

std::stringevalString="plot(xx,yy);";

engEvalString(pEng,evalString.c_str());

mxDestroyArray(xx);

mxDestroyArray(yy);

Sleep(3*60*100);

//close engine

if(NULL !=pEng)

{

engClose(pEng);

}

system("pause");

return 1;

}

2. 工程属性配置:

1)右键工程属性-->VC++目录--> 包含目录:(或者 在 C/C++ -->常规--> 附加包含目录下添加)

D:\MATLAB\R2010b\extern\include\win32

D:\MATLAB\R2010b\extern\include

99a21ab07f10f87764d38311ca2df1ed.png

2) 库目录:

在“连接器”项 (启动项目)--> “常规”下 添加(如果是非启动项目,则在库管理器项的常规下添加)

D:\MATLAB\R2010b\extern\lib\win32\microsoft

a566da93f47de8ceec76e1ab89b85840.png

3) 链接器-->输入-->附加依赖项:

(非启动项目在“库管理器” 项的“常规”下的“附加依赖项”里添加)

2a1ea1c4ba831cbd8fa20c4941f26b2c.png

3. 环境变量配置(电脑系统属性)

D:\MATLAB\R2010b\runtime\win32;D:\MATLAB\R2010b\bin\win32;

47c5def7be4d02b08c4ab7e56b800f70.png

4. 可能的出错:

1) win32的C++工程matlab 64位或 win64的c++工程matlab 32位;

出错提示:应用程序无法正常启动(0xc00007)

正确的为:win32的C++工程matlab 32位或win64的c++工程matlab 64位;相应的,在配置VS工程时,选用不同的包含目录和库目录和在环境配置时,添加不同的平台环境。

2) 环境变量没配置正确

出错提示:计算机中丢失libmx.dll

3) 若程序正常运行,但无法打开matlab引擎,则需进行“注册”。

方法为:打开cmd,转到目录 MATLAB安装目录\bin,输入matlab /regserver

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值