Python C 绑定 Py_InitModule 问题

发布于 2024-11-30 06:33:05 字数 538 浏览 0 评论 0原文

我的这个最新的编程项目突破了一些我以前从未跨越过的界限;主要是,我已经开始进行一些认真的 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,语法解析器是否添加了下划线或其他内容?我正在使用适用于 Windows 的 Pelles C,并且我的其余代码(包括看起来更可怕的部分)已经编译得很好。

This latest programming project of mine has pushed some boundaries I haven't crossed before; mainly, I've begun doing some serious C programming. Stack Overflow's users have been exceptionally helpful so far, so I will draw on your knowledge again. I want to write some bindings C function bindings (drawing pixels to the screen using SDL) for Python, and I am, once again, stuck on a compiler error.

This line:

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

Gives me this error:

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

I find it odd that it says _Py_InitModule3 when I put Py_InitModule3, is the syntax parser adding in an underscore or something? I'm using Pelles C for Windows, and the rest of my code (including the scarier looking bits) have compiled just fine.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

猫九 2024-12-07 06:33:05

这是函数的损坏名称,在库中找不到它,因为它是来自 modsupport.h

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

modsupport.h 被 Python.h 包含。

That's the mangled name of the function, which isn't found in the library because it's a macro from modsupport.h:

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

modsupport.h gets included by Python.h.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文