From: Neal D. Becker (ndbecker2_at_[hidden])
Date: 2004-07-14 10:28:50
Klaus Nowikow wrote:
> My company is currently developing a new set of software packages
> (applications, static and dynamic libraries) that are all expected
> to work together (i.e., the libraries will be linked to more than
> one of the applications, and the libraries will interoperate and depend
> on one another).
> In addition, the system has to be extensible, i.e. new DLLs will be added
> in the future without requiring to rebuild the other components.
> I use many parts of the boost libraries, not only for the implementation
> details, but also in the interfaces of the libraries (e.g. the iterator
> adaptors, type_traits, call_traits, variant, mpl...).
> This leads to the question: are different versions of the boost
> libraries compatible with each other? Can I use a newer version of boost
> in future additions to our system and expect them to work together or will
> we have to rebuild the whole system when we decide to use a new version
> of boost?
> I don't expect a definite answer to this complex question, but is it
> possible to estimate how likely it is that newer versions of boost
> will require us to rebuild all?
The track record here is not very good. For example the last 2 releases
IIRC both broke boost::random source compatibility. In one case it was not
even mentioned in the release notes. The behavior silently changed,
yielding different numerical results (no compile errors).
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk