From: Bo P. <be...@gm...> - 2009-05-16 14:04:56
|
> We changed the name of PySwig* to SwigPy*. So there should be no > occurrence of PySwigObject_Check in newer version of SWIG, neither in > SWIG code nor SWIG generated code. So how you produced a swigpyrun.h > contains a PySwigObject_Check? Could you give more details so we can > reproduce and check it? Among other things, my C/C++ code calls a user-defined Python function. The return value of this function is a SWIG wrapped object and I need to obtain a C++ level pointer from this object. I defined a utility function to unwrap this object (line 1360 of http://simupop.svn.sourceforge.net/viewvc/simupop/trunk/src/utility.cpp?view=markup) which calls PySwigObject_Check to check if the 'this' attribute is a SWIG-wrapped pointer. I am currently using SWIG 1.3.36 and uses PySwigObject_Check defined in its generated swigpyrun.h. When I tried to use SWIG 1.3.39, PySwigObject_Check (and other functions) are no longer defined so I have to use a macro to differentiate the different versions of swigpyrun.h. Unfortunately, SWIG_VERSION is only defined in the wrapper files, not in swigpyrun.h. It appears that I need to move all such functions to my wrapper files where SWIG_VERSION is defined. However, it makes sense to me to also define SWIG_VERSION in swigpyrun.h. Cheers, Bo |