Python C绑定Py_InitModule问题

时间:2011-08-19 19:13:51

标签: python binding compilation

我最近的这个编程项目已经推动了我以前没有遇到的一些界限;主要是,我已经开始做一些严肃的C编程了。 Stack Overflow的用户到目前为止一直非常有帮助,所以我将再次吸取你的知识。我想为Python编写一些绑定C函数绑定(使用SDL绘制像素到屏幕),我再次陷入编译器错误。

这一行:

Py_InitModule3("ezpix", ezpix_methods, "ezpix extension");

给我这个错误:

POLINK: error: Unresolved external symbol '_Py_InitModule3'.
POLINK: fatal error: 1 unresolved external(s).

当我放入Py_InitModule3时,我发现_Py_InitModule3是奇怪的,是语法分析器添加下划线还是什么?我正在使用Pelles C for Windows,我的其余代码(包括看起来很可怕的部分)编译得很好。

1 个答案:

答案 0 :(得分:1)

这是函数的错位名称,在库中找不到,因为它是来自modsupport.h的宏:

#define Py_InitModule3(name, methods, doc) \
    Py_InitModule4(name, methods, doc, (PyObject *)NULL, \
                   PYTHON_API_VERSION)

modsupport.h包含在Python.h中。