[Development] Switching Qt default builds to C++20 where supported
Thiago Macieira
thiago.macieira at intel.com
Thu Nov 28 01:55:10 CET 2024
On Wednesday 27 November 2024 06:51:23 Pacific Standard Time Volker Hilsheimer
via Development wrote:
> As per the comments to that change, it’s a) not going to fly and b) not the
> choice a single person can make, even if that person is the maintainer of
> Qt Core 🙂
>
> A more pragmatic and scalable choice seems to be to not try to support
> mixing C++ versions in a static build of Qt. I see no reason for doing
> that, and explicitly disallowing that option would create clarity for
> anyone trying to do so.
And as I reported there: I don't know if the problem is exclusive to static
builds. The fact that dynamic builds have not complained is not sufficient
reason to believe there is no ABI incompatibility. For example, we've had
std::future<void> in our ABI since 5.10 and the inline code uses std::async.
Someone (not me) must prove or disprove that dynamic builds are affected.
And as I wrote there too, disallowing mixed C++ versions is probably going to
create unbuildable solutions when third-party libraries are in the mix.
Therefore, I don't think your solution will be acceptable. Instead, assuming
that the issue only affects static builds, I propose we disable cpp-winrt for
all static builds or for C++17 static builds. And make MSVC build with C++20
by default.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Principal Engineer - Intel DCAI Platform & System Engineering
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5152 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/development/attachments/20241127/e2eb4fab/attachment.bin>
More information about the Development
mailing list