缺少PyArrayObject定义

时间:2013-12-30 01:06:30

标签: python c numpy

我正在尝试编译一些C代码(CUDA)[1],它依赖于Numpy包:

/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

1 个答案:

答案 0 :(得分:0)

通过包含ndarraytypes.h来解决,它定义了PyArrayObject。