一、Matlab准备
1、打开matlab(2016a),设置工作目录(D:\MATLAB\R2016a\bin)。
2、将Matlab配置为C++编译方式,在命令行输入mex -setup,显示:
3、选择 mex -setup C++ ,显示:
4.则说明初步完成。
二、Matlab引擎手动测试
1、关闭Matlab主程序,打开命令提示符(管理员)。
2、将目录转到Matlab主程序的目录下,输入Matlab /regserver。
3、数秒之后显示出Matlab Command Window,并显示:
4、手动测试完成,Matlab引擎可以使用。
三、C++项目设置
1、创建C++空项目(VS2015)。
2、设置项目属性:
平台:X64
配置属性>VC++目录>包含目录:增加 D: \MATLAB\R2016a\extern\include;
配置属性>VC++目录>库目录:增加 D:\MATLAB\R2016a\extern\lib\win64\microsoft;
配置属性>链接器>输入>附加依赖项:libeng.lib;libmx.lib;libmex.lib;mclmcrrt.lib;
运行测试代码:
#include <iostream>
#include <engine.h>
using namespace std;
int main()
{
Engine * mat;
const char *commandchar;
//打开引擎
if (!(mat = engOpen("\0")))
{
printf_S("Cannot start MATLAB engine!");
}
//使用引擎
commandchar = "t=0:0.01:2*pi;y=sin(t);h=plot(t,y)";
engEvalString(mat, commandchar);
//关闭引擎
system("pause");
engClose(mat);
}
得到下列结果,说明运行成功。
有可能有小伙伴会遇到“无法启动此程序,因为计算机中丢失xxxxx.dll”的错误,可以参考我下面一篇文章:
完美解决!无法启动此程序,因为计算机中丢失libmysql.dll解决方案(详细版!)
来源:CSDN
作者:山有木兮°
链接:https://blog.csdn.net/Wannna/article/details/104539692