
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? Best regards, Klaus