我正在尝试编译Yenc https://bitbucket.org/dual75/yenc对于Python 3.2。我注意到 gcc 抱怨未声明的函数PyString_Type
,所以我用它的替代品替换了它PyBytes_Type
正如根据文档 http://docs.python.org/c-api/string.html.
然而,gcc 还抱怨一个未声明的函数,名为PyFile_Type
。我用谷歌搜索了一下,发现:
Python 3.x replaces the PyFile_Type extension type
with an abstract interface and specific implementation types.
Unfortunately it doesn't make any of this directly available
with a C level api.
source https://bitbucket.org/pygame/pygame/src/25e3f2cee879/PYTHON3
我绝不是一个C程序员,这让我无法解决这个问题。我应该怎么做才能解决这个问题?
Edit: 编译输出 http://pastebin.com/n6BZ5iuc, _yenc.c http://pastebin.com/9HHxA8Gt
Thanks!
简而言之,PyFile_Type 已被 Python 3 中完全不相似的东西所取代,您必须自己修改代码或等待维护者这样做。如果您不是 C 程序员,那么很可能是后者。文档 http://docs.python.org/py3k/c-api/file.html声明 Python 3 现在不再包装 FILE*,而是包装低级 I/O,在本例中是文件描述符和 read()/write()。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)