[matlab][原创]安装mingw后调用C++进行mex加操作

Posted FL1623863129

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[matlab][原创]安装mingw后调用C++进行mex加操作相关的知识,希望对你有一定的参考价值。

首先安装完毕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)

显示结果如下:

以上是关于[matlab][原创]安装mingw后调用C++进行mex加操作的主要内容,如果未能解决你的问题,请参考以下文章

在 MATLAB 中识别 VC++ 编译器

Matlab调用Fortran编译的DLL——未完待续

为什么安装了MinGW之后,还是不能在Matlab中使用mex?

在 Matlab 中安装 C 编译器

C++调用matlab数学函数问题

C语言编译器” MinGW-w64 C/C++”的安装