|
Boost : |
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2021-02-02 12:34:59
On 02/02/2021 11:51, Andrey Semashev via Boost wrote:
> So, the bottom line, BOOST_PROGRAM_OPTIONS_DECL must be defined to:
>
> - BOOST_SYMBOL_EXPORT - on Windows, when the library is being built;
> - BOOST_SYMBOL_IMPORT - on Windows, when the library is being consumed
> by user;
> - BOOST_SYMBOL_VISIBLE - in any other case.
This causes Boost.ProgramOptions symbols to be exported in any shared
object or executable which links in Boost.ProgramOptions i.e. you
reexport the same symbols.
So, as I already said, don't do that. Only symbols whose typeinfos need
to be seen during RTTI lookup should always be BOOST_SYMBOL_VISIBLE.
That is generally types thrown as exceptions, and anything else subject
to dynamic_cast.
Niall
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk