make
Building wrappers ...
Building with 'g++'.
Error using mex
/home/fupeng/workspace/libelas-master/matlab/elasMex.cpp: In function ‘void mexFunction(int, mxArray**, int, const mxArray**)’:
/home/fupeng/workspace/libelas-master/matlab/elasMex.cpp:90:50: error: cannot convert ‘const size_t* {aka const long unsigned
int*}’ to ‘const int32_t* {aka const int*}’ in initialization
const int32_t *I_dims = mxGetDimensions(prhs[0]);
^
/home/fupeng/workspace/libelas-master/matlab/elasMex.cpp:98:68: error: cannot convert ‘int32_t* {aka int*}’ to ‘const size_t*
{aka const long unsigned int*}’ for argument ‘2’ to ‘mxArray* mxCreateNumericArray(size_t, const size_t*, mxClassID,
mxComplexity)’
plhs[0] = mxCreateNumericArray(2,D_dims,mxSINGLE_CLASS,mxREAL);
^
/home
libelas: matlab wrapper 编译出问题
最新推荐文章于 2021-03-19 19:53:00 发布
在尝试使用g++编译libelas的MATLAB包装器时遇到错误,涉及类型转换问题。错误出现在将'const size_t*'转换为'const int32_t*'以及'int32_t*'转换为'const size_t*'。解决方案是在mex命令中添加'-DMX_COMPAT_32'选项,以适应32位系统的兼容性问题。
摘要由CSDN通过智能技术生成