1. 准备环境
第1步:从网上下载好mingw-64: 第2步:添加到环境变量中; 第3步:在Matlab中的命令行输入mex -setup检查是否提示找到编译器 第4步:如果还是提示找不到,命令行输入并执行 setenv('MW_MINGW64_LOC','D:\mingw64')。注意:执行时,需要把'D:\mingw64'替换成自己的路径。
2. 自定义C/C++函数并在Matlab中导入dll库
在下面示例中,通过VS定义了几个函数,将工程编译成dll之后,把dll文件和源文件的头文件放到Matlab的工作目录中。
2.1 定义C/C++函数
/*Test.c ——这里是.c还是.cpp应该没有影响,好像cpp中的类还有一些c中没有的特性matlab是不支持的*/
#include "stdlib.h"
#include "stdio.h"
#include "Test.h"
int c;
struct myStruct sc;
float array[] = {
10,12,13};
int myadd(int a,int b)//有传参和返回值,且为常见数据类型的函数
{
c = a + b;
return c;
}
int GetC()//无传参,有返回值,且为常见数据类型的函数
{
return c;
}
void dealStruct()//无传参和返回值
{
sc.