我试图为一个c函数创建一个mex文件,它应该是chacohttp://www.cerfacs.fr/algor/Softs/MESHPART/的一个matlab接口(chaco是一个图形分区软件)。
我对makefile进行了一些修改,使其能够与我的debian一起工作。但是,有一个错误我无法解决。当我运行mex命令时
mex -output mlchaco ${mlfiles.c} chaco.a -I chaco/main
我得到以下错误:
mlchaco.c:55:5: error: unknown type name 'Matrix'
chaco.my mex命令行中的一个选项是:
chaco.a: ${CHFILES.o} ${AR} chaco.a ${CHFILES.o} ; ${RANLIB} chaco.a
导致错误的C代码的前几行是
void mexFunction(
int nlhs, /* number of expected outputs */ Matrix *plhs[], /* matrix pointer array returning outputs */ int nrhs, /* number of inputs */ Matrix *prhs[] /* matrix pointer array for inputs */ )

最佳答案

用Matlab传递的类型Matrix替换mxArray。一定要include "mex.h"

关于linux - Mex无法识别“矩阵”类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28651604/

10-11 01:45