Re: [pygccxml-development] Basic Py++ questions
Brought to you by:
mbaas,
roman_yakovenko
From: Roman Y. <rom...@gm...> - 2008-10-30 19:03:22
|
On Wed, Oct 29, 2008 at 10:31 PM, Paul Melis <pyp...@as...> wrote: > Roman Yakovenko wrote: >>>> Why do you want to exclude such declarations: >>>> * to get "clean" build - without warnings. If so, in this specific >>>> case you can decide that you trust Py++ and suppress the warning. >>>> * other reasons - please explain. >>>> >>>> >>> The reason is quite practical. Up till now I have not been able to even >>> compile my generated wrappers because of W1005 warnings. >>> I simply want to get some version of my wrappers working that I can get >>> started with. From there I can work on replacing/handling the issues w.r.t. >>> use of non-public classes. >>> >> >> It sounds like a bug. Can you send me simple test case. I would like >> to improve the situation. >> > > After some digging it seems to be caused by the following pattern: > - the code I'm wrapping uses its own smart pointer class, say smart_ptr<T> > - the code contains a class, say C, with a protected inner class, say I > - the smart_ptr class has one or more methods that either return or use > a pointer to C::I > > In the gccxml I see lines <Class ... artificial="1" > demangled="smart_ptr<C::I>;" mangled="..." name="smart_ptr<C::I>" />, > which probably make Py++ generate wrappers for the smart_ptr methods. No, it doesn't help. I don't understand why Py++ still generates them. Are the functions [pure] virtual? Also, I suggest you to read the following link: http://language-binding.net/pyplusplus/troubleshooting_guide/smart_ptrs/smart_ptrs.html -- Roman Yakovenko C++ Python language binding http://www.language-binding.net/ |