Error using mex
xianghuix opened this issue · comments
Dear developers,
I am trying to test FIDVC. I used the example data sets and the example script suggested in README. I however got below error message. May you advice what might be wrong?
Thanks,
X
------------------------------------------ error message ----------------------------------
Error using mex
~/Documents/MATLAB/MatlabS/FIDVC-master/Matlab Code/Supplemental
MFiles/mirt3D_mexinterp.cpp: In function ?void mexFunction(int, mxArray**, int, const
mxArray**)?:
~/Documents/MATLAB/MatlabS/FIDVC-master/Matlab Code/Supplemental
MFiles/mirt3D_mexinterp.cpp:173:11: error: cannot convert ?const size_t* {aka const long
unsigned int*}? to ?const int*? in assignment
Xdims = mxGetDimensions(IN_S);
^
~/XHXIAO/Documents/MATLAB/MatlabS/FIDVC-master/Matlab Code/Supplemental
MFiles/mirt3D_mexinterp.cpp:177:10: error: cannot convert ?const size_t* {aka const long
unsigned int*}? to ?const int*? in assignment
dims = mxGetDimensions(IN_Z);
^
~//Documents/MATLAB/MatlabS/FIDVC-master/Matlab Code/Supplemental
MFiles/mirt3D_mexinterp.cpp:203:75: error: cannot convert ?int*? to ?const size_t* {aka const
long unsigned int*}? for argument ?2? to ?mxArray* mxCreateNumericArray(size_t, const size_t*,
mxClassID, mxComplexity)?
OUT_F = mxCreateNumericArray(newXndim, newdims, mxDOUBLE_CLASS, mxREAL);
Error in mirt3D_mexinterp (line 37)
mex(pathtofile,'-outdir',pathstr);
Error in volumeMapping (line 52)
for i = 1:3, u{i} = mirt3D_mexinterp(u0{i}, m_u0{1}, m_u0{2}, m_u0{3}); end
Error in IDVC (line 89)
I = volumeMapping(I,m,u);
Error in funIDVC (line 70)
[u_, cc{i-1}, dm, m] = IDVC(I,sSize0,u_);
Error in exampleRunFile (line 76)
[u, cc, dm, m] = funIDVC(filename, sSize, incORcum);
Hi X,
Sorry we missed this! I just replied to Ron, who had a similar issue. You can look there for a slightly more detailed answer. In short, you need to make sure you can run mex files on a supported compiler before running FIDVC.
Regards,
Alex