我正在为Python 3.2编译Yenc。我注意到gcc抱怨了一个未声明的函数PyString_Type
,因此根据the documentation将其替换为替换PyBytes_Type
。
然而,gcc还抱怨称为PyFile_Type
的未声明函数。我google了一下,发现:
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.
我绝不是一名C程序员,这使我无法解决这个问题。我该怎么做才能解决这个问题?
修改:output of compilation,_yenc.c
谢谢!
答案 0 :(得分:2)
简单地说,PyFile_Type已被Python 3中甚至远程类似的东西取代,你必须自己修改代码或等待维护者这样做。如果你不是C程序员,它可能必须是后者。 The documentation指出,不是包装FILE *,Python 3现在包含低级I / O,在本例中为文件描述符和read()/ write()。