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
2) 库目录:
在“连接器”项 (启动项目)--> “常规”下 添加(如果是非启动项目,则在库管理器项的常规下添加)
D:\MATLAB\R2010b\extern\lib\win32\microsoft
3) 链接器-->输入-->附加依赖项:
(非启动项目在“库管理器” 项的“常规”下的“附加依赖项”里添加)
3. 环境变量配置(电脑系统属性)
D:\MATLAB\R2010b\runtime\win32;D:\MATLAB\R2010b\bin\win32;
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