我正在尝试编译一些依赖于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/

10-11 23:01