[C++-sig] gcc flag -fvisibility=hidden not working with boost::python
Niall Douglas
s_sourceforge at nedprod.com
Sat Mar 21 21:38:59 CET 2009
On 20 Mar 2009 at 13:46, Renato Araujo wrote:
> I have worked with some gcc flags to reduce my binding size. After
> some time using this -fvisibility=hidden with my library, I discovered
> a strange behavior on boost::python more specific in object call
> function like this:
>
> python::call_method<void>(py_obj.ptr(), "myVirtualFunction");
>
> The problem is: When I use this flag boost always call my "virtual
> default" implementation and without this flag boost always call the
> correct virtual method, I don't know what this is happening. I would
> like to know if someone has any idea why this is happening?
>
> I create this small test to show the problem. This flags is very
> important for me because I got size reduction about 50% with this.
You're not annotating your wrapper class correctly.
See http://www.nedprod.com/programs/gccvisibility.html.
Cheers,
Niall
More information about the Cplusplus-sig
mailing list