我正在尝试将 c++ 中的 c 样式数组转换为 numpy 数组,并在尝试使用“PyArray_SimpleNewFromData”函数时遇到问题。原来我需要打电话
import_array()
Run Code Online (Sandbox Code Playgroud)
虽然我不明白如何调用这个函数。每当我尝试调用它时,我都会收到我无法理解的编译器错误。例如编写以下简单脚本:
#include <Python.h>
#include <numpy/arrayobject.h>
int main(){
Py_Initialize();
import_array();
Py_Finalize();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
产生编译器错误
错误:返回语句没有值,在返回 'int' 的函数中 [-fpermissive] import_array();
我看了几个例子,例如:
https://codereview.stackexchange.com/questions/92266/sending-ac-array-to-python-numpy-and-back
编译多个模块时出现 import_array() 的 Numpy/CAPI 错误
但无论我尝试什么(即使看似遵循这些示例),我似乎都会遇到上面的编译器错误。我错过了什么或做错了什么?关于如何调用 import_array() 函数的解释将非常受欢迎。谢谢您的帮助!
更新:
我正在使用 python 2.7.11,我认为它可能与这里讨论的内容有关:
https://github.com/clemenscorny/brisk/issues/3
但我仍然不知道如何解决它。