首先安装完毕Mingw后配置自己的编译器
打开matlab在命令行窗口输入
mex -setup
然后会出现电脑已经存在编译器点击对应编译器或者输入
mex -setup C++
配置完毕后自己的编译器后可以正常使用了。新建一个add_test.cpp文件填写代码,以下代码是进行2数相加
#include "mex.h"
double add(double x, double y)
{
return x + y;
}
//设置接口
void mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
{
double* a;
double b, c;
plhs[0] = mxCreateDoubleMatrix(1, 1, mxREAL);
a = mxGetPr(plhs[0]);
b = *(mxGetPr(prhs[0]));
c = *(mxGetPr(prhs[1]));
*a = add(b, c);
}
然后在matlab命令行切换到add_test.cpp所在目录,比如我把文件放在D盘根目录,则
cd D:
然后开始编译
mex add_test.cpp
显示编译完成后,可以在add_test.cpp同级目录下发现有个add_test.mexw64文件
我们直接在matlab命令行窗口调用这个
add_test(2,3)
显示结果如下: