Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2022-05-12 14:25:27


Kenneth Porter wrote:
> On 5/12/2022 5:30 AM, Andrey Semashev via Boost wrote:
> > This question seems to be unrelated to Boost, but in general you
> > should avoid mixing different C++ versions in one application.
>
> I'm branching off from the current discussion about the minimum supported
> C++ language version for Boost. If Boost goes C++14 and my customer is still
> on C++03, I'm concerned about my DLL being compatible with their EXE. (I
> don't expose Boost or STL in my headers. Nor do I expose C++ strings.
> Allocations don't cross the EXE/DLL boundary, using factory constructors and
> destroy methods.)
>
> But I do worry about the ABI compatibility. According to MS, linking is allowed
> between compiler versions if the latest linker is used, but they don't say
> anything about language versions.

Recent versions of MSVC (2015 onwards) only support C++14 and above. There
is no C++03 or C++11 mode. Previous versions didn't have modes at all.

I believe that MS does support linking between code compiled with different
language versions (14/17/20). They also support linking code compiled with
2015/2017/2019/2022. This isn't true for earlier versions (and may be untrue
for future versions too.)


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk