MATLAB2020a指定安装mingw-64(6.3.0)版本编译器
参考下载【免费下载】 MATLAB 可用编译器:MinGW-w64 6.3 (Win 64位系统)-优快云博客
我的参考路径(尽量在根目录下):D:\mingw6.3
一、设置mingw的bin文件路径到环境变量
1、打开设置,选择系统>>系统信息>>高级系统设置
打开Path
添加D:\mingw6.3\bin路径(需参考自己的实际路径)
返回上一步,新建用户变量
添加如下用户变量,路径参考实际路径
2、打开Matlab,设置路径
添加如下路径
命令行输入:mex -setup
出现上面的图,说明安装成功!
二、下面就可以运行程序了编写helloworld程序
建一个全英文文件夹我的路径与名称:D:\Users\Lkdot023\Desktop\hello
新建三个文件
1、保存为hw.cpp
#include "mex.h"
#include"HelloWorld.h"
//主程序
void mexFunction(int nlh,mxArray*plhs[],int nrhs,const mxArray*prhs[])
{
HelloWorld hw;//创建HelloWorld 对象
mexPrintf("Hello world");
}
2、保存为HelloWorld.h头文件
#ifndef _HELLO_WORLD
#define _HELLO_WORLD
#include"mex.h"
//头文件
class HelloWorld
{
public:
HelloWorld(void);
~HelloWorld(void);
public:
void Print();
};
#endif // _HELLO_WORLD
3、保存HelloWorld.cpp文件
#include"HelloWorld.h"
//导入头文件
HelloWorld::HelloWorld(void)
{
}
void HelloWorld::Print()
{
mexPrintf("Hello World!\n");
}
HelloWorld::~HelloWorld(void)
{
}
如下:
上面编写好的程序是用C++编写MEX文件的源代码,必须创建mexFunction这个函数,类似c++中的main函数,此外必须导入mex.h头文件。
下面是用matlab调用上面程序的过程:
1.首先matlab打开上述编写c++程序的文件夹,可直接给在文件夹路径下输入刚刚创建的文件夹路径
2.输入语句mex hw.cpp HelloWorld.cpp,编译完成hw.mexw64
3.在matlab 中调用上面的c++函数,输入hw()输出hello world
证明实现matlab与C++混合编程