matlab调用C++接口

项目中遇到了一个情况,需要使用matlab来调用C++一个动态库,整理如下:

1. 需要安装mingw编译器

2. matlab去编译一个C++的包装函数(转接函数)

3. 包装函数(转接函数)里面去调用真正需要调用的C++逻辑

参开代码:

mex编译

mex('package.cpp', ...
    'CXXFLAGS -std=c++17',...
    '-g',...
    '-IF:\include',...         % 需要包含的头文件路径
    '-lopencv_world422d',...   % 需要使用的库路径
    );

C++实现:

#include "Test.h"
#include "mex.h"
#include <iostream>
#include <string.h>
void mexPackFun(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
{
    // 具体的C++逻辑
}

猜你喜欢

转载自blog.csdn.net/bocai1215/article/details/130229347