1

I'm trying to create a mex file for a c function which is supposed to be a Matlab interface for Chaco http://www.cerfacs.fr/algor/Softs/MESHPART/ (Chaco is a graph partitioning software).

I modified the Makefile quite a bit to make it work with my Debian. However, there is one error which I can't solve. when I run the mex command mex -output mlchaco ${mlfiles.c} chaco.a -I chaco/main

I get the following error:

mlchaco.c:55:5: error: unknown type name 'Matrix'

chaco.a option in my mex command line is:

chaco.a: ${CHFILES.o} ${AR} chaco.a ${CHFILES.o} ; ${RANLIB} chaco.a

and the first few lines of the c code which cause the error are

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 */ )

TNM
  • 1,361
  • 3
  • 15
  • 25

1 Answers1

2

Replace Matrix with mxArray, the type passed by MATLAB. Be sure to include "mex.h".

chappjc
  • 30,359
  • 6
  • 75
  • 132