Matlab和c++混合编译
1.安装TDM-GCC
八月第一天,打算以后把在学习中遇到的问题,学习到的东西做个记录,防止自己忘记。
昨天因为需要用到一个数据集的toolbox,在官网下载好后用matlab打开,发现matlab调用的是同文件目录下面的cpp文件,作为小白的博主在网上找了一下,发现是matlab和c++的联合编译。也就是Mex指令。但是在matlab里面输入mex -setup的时候,编译报错,显示找不到编译器。并且提示下载免费的TDM-GCC编译器,通过百度,我参考了以下链接下载好了TDM-GCC。
https://blog.csdn.net/xinjitmzy/article/details/78563493
作者写的比较简洁,但是步骤比较清楚,我也按照自己的版本安装好。并且在matlab中再次输入mex -setup的时候能够识别到这个编译器。
但是问题来了,我编写测试代码hello world的时候,代码如下
#include "mex.h"
void mexFunction(int nlhs,mxArray* plhs[],int nrhs,mxArray* rhs[])
{
printf("hello world!");
}
比较简单,其实就是创建一个cpp文件,我命名为ttest.cpp,然后再在matlab命令行执行
mex -ttest.cpp
但是此时报错,mex使用错误