【发布时间】:2014-09-03 01:43:41
【问题描述】:
正如我的标题所说,我正在尝试为 Python 开发一个 C 扩展。我在这里遵循了本教程并运行了 setup.py 脚本。但是,当我运行 python 解释器并尝试导入我新创建的模块时,我得到一个链接器错误未定义符号:py_BuildValue。我也尝试自己编译它,我得到了同样的错误加上一个错误,说 Py_InitModule3 是未定义的。我已经安装了 python3.2-dev 和 python3-dev。这是我的 test.c 代码:
#include <python3.2/Python.h>
static PyObject* Test(PyObject* self){
return py_BuildValue("s","This is a test and my first trip into the world of python bindings!!");
}
static PyMethodDef test_funcs[] ={{"testExtensions",(PyCFunction)Test, METH_NOARGS,"This is my First Extension!!"},{NULL}};
void initTest(void){
Py_InitModule3("Test", test_funcs, "Extension module example!");
}
还有我的 setup.py 代码:
from distutils.core import setup, Extension
setup(name='Test', version='1.0', \
ext_modules=[Extension('Test', ['test.c'])])
【问题讨论】:
标签: python c++ c python-3.x