Subject: Re: [boost] C++03 / C++11 compatibility question for compiled libraries
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2018-02-08 19:54:28
On 02/08/18 22:36, degski via Boost wrote:
> On 8 February 2018 at 13:25, Peter Dimov via Boost <boost_at_[hidden]>
>> degski wrote:
>>>>> Using std::function has one advantage, though, it's standardised.
>>>> In the context of this discussion, it's irrelevant.
>>> It seems only logical to me to decrease coupling with other boost
>>> libraries as time moves on, to use the std-equivalent of certain boost
>> This discussion is about link compatibility between code compiled with
>> C++03 and code compiled with C++11. If your code uses std::function, it
>> can't be compiled with C++03 and therefore this thread is simply not for
> Yes, I get that, I'm stating the opposite, if it's compiled with C++11, it
> should use std::function.
How does that solve the linking incompatibility problem?
> PS: I really don't understand the focus of boost to always want to compile
> stuff with the most archaic compilers possible. If your using an old
> compiler, just use a(n older) boost version that works with that specific
It's not just about older compilers. There are code bases that are not
compatible with C++11, some of them using Boost. Given that the default
in recent compilers is C++14, those code bases explicitly set C++03.
Those code bases are supposed to link with whatever Boost version
(which, of course, is compiled in the default C++14 mode) that is
shipped by your distro.
On older systems there is a reverse problem, when the system-supplied
Boost is compiled in C++03 and you want to compile your code in C++11 or