
On Aug 1, 2013, at 5:30 PM, Philip Bennefall <philip@blastbay.com> 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)