Boost logo

Boost :

Subject: Re: [boost] Suppressing boost.thread and boost.system symbols in shared library
From: Rob Stewart (robertstewart_at_[hidden])
Date: 2013-08-01 18:08:33


On Aug 1, 2013, at 5:30 PM, Philip Bennefall <philip_at_[hidden]> wrote:

> I am building a shared library for Linux, for which I would like to export as few symbols as possible (ideally only the functions that my library users actually need to call). When building my project, I have the following options:
>
> -fvisibility=hidden -fvisibility-inlines-hidden
>
> I then mark all the functions that I am exporting as having default visibility. I link to static versions of boost.thread and boost.system. When I then say:
>
> nm -DC libtest.so
>
> I get a large number of symbols such as:
>
> 0002abe0 V typeinfo name for boost::exception_detail::clone_impl<boost::exceptio
> n_detail::bad_exception_>
> 0002ace0 V typeinfo name for boost::exception_detail::bad_exception_

[snip]

The typeinfo for any exceptions that might escape from your API must be visible, so they are marked that way.

___
Rob

(Sent from my portable computation engine)


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk