Why identifier "mxGetUint64s" is undefined in mex or cudamex?
4 次查看(过去 30 天)
显示 更早的评论
Hi, I am trying to deal with unsigned long format arrays in mex. I found in mxGetUint64s page that I should use mxGetUint64s instead of mxGetPr or mxGetData. But in the mini-sample script below, I always get the error "identifier "mxGetUint64s" is undefined". I had already include the "matrix.h" header file as below. Could anyone give me some suggestions?
% test.c or test.cu
#include "mex.h"
#include "matrix.h"
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
unsigned long* ptr = mxGetUint64s(prhs[0]);
}
The following error happens with mex and cudamex both.
>>> mex('test.c') % or mex('test.cu')
error: identifier "mxGetUint64s" is undefined
Besides, if I use mxGetData with double format input, it works well as below.
#include "mex.h"
#include "matrix.h"
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[])
{
double* key = (double*)mxGetData(prhs[0]);
}
0 个评论
采纳的回答
Steven Lord
2021-7-8
What happens if you build your MEX-file using the interleaved complex API by passing the -R2018a option to the mex command as shown in the API Version section on the documentation page?
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 GPU Computing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!