我正在尝试编译一些依赖于Numpy包的C代码(CUDA)[1]:
/cuda-convnet-vs-proj/src/util.cu(69): error : identifier "PyArrayObject" is undefined
我安装了Anaconda(在Windows上),其中包括Python 2.7和Numpy软件包。
util.cu包含标头util.cuh,其中包含Python.h。
我什至不确定这是否是代码中的问题(缺少定义或头文件),或者Visual Studio找不到正确的位置。
我是初学者,如何解决此问题?
这是引用PyArrayObject的代码:
#include <util.cuh>
using namespace std;
MatrixV* getMatrixV(PyObject* pyList) {
if (pyList == NULL) {
return NULL;
}
MatrixV* vec = new MatrixV();
for (int i = 0; i < PyList_GET_SIZE(pyList); i++) {
vec->push_back(new Matrix((PyArrayObject*)PyList_GET_ITEM(pyList, i)));
}
return vec;
}
util.cuh标头包含以下行:
#include <Python.h>
[1] http://www.asiteof.me/archives/50
最佳答案
通过包括定义PyArrayObject的ndarraytypes.h解决。
关于python - PyArrayObject定义丢失,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20831957/