[Cython] Function signature does not match previous declaration
Dag Sverre Seljebotn
dagss at student.matnat.uio.no
Tue Jul 8 20:35:21 CEST 2008
Johannes Wienke wrote:
> Am 07/08/2008 08:24 PM schrieb Dag Sverre Seljebotn:
>> Johannes Wienke wrote:
>>> Am 07/08/2008 07:55 PM schrieb Carl Witty:
>>>> On Tue, Jul 8, 2008 at 9:49 AM, Johannes Wienke <languitar at semipol.de> wrote:
>>>>> warning: include/icewing/gui/Gimage.pxi:87:11: Function signature does
>>>>> not match previous declaration
>>>>>
>>>>> Line 87 in that file is:
>>>>> iwImage* iw_img_new_alloc(int width, int height, int planes, iwType type)
>>>> ...
> [...]
>>> languitar at bird ~/BA-workspace/shIP $ grep -in "Gimage.pxi" `find . -name
>>> '*.px*'` | grep -v svn
>>> ./src/ship/icewing/preview.pxd:2:include "icewing/gui/Gimage.pxi"
>>> ./src/ship/icewing/image_utils.pxd:1:include "icewing/gui/Gimage.pxi"
>>> ./include/icewing/gui/Grender.pxi:3:include "icewing/gui/Gimage.pxi"
>>> ./include/icewing/gui/Gpreview.pxi:4:include "icewing/gui/Gimage.pxi"
>> Here it is included multiple times, each pxd file gets a copy of the
>> function definitions in the pxi files. You're probably using pxi in the
>> wrong place here, switch it to a pxd file and use cimport.
>>
>
> Well, I thought pxi files are used for definitions from other header
> files and pxd files for definitions of your own cython code. Or is that
> wrong?
pxi files are not for any specific purpose; they simply insert the file
verbatim into the spot of the include (and thus often can lead to
defining things too many times). (There are ups and downs to this; I'd
never use them myself for any purpose but that's only a subjective
feeling). It is perfectly ok to cimport a pxd file into another pxd file.
--
Dag Sverre
More information about the Cython-dev
mailing list