The Boost library is now available for C++Builder and RAD Studio 10.3.1.
Boost is a very important third party C++ library, and one many of our customers request support for. It's taken us longer than we had hoped, but I'm very glad to announce it's available in the GetIt package manager today. You can find it by opening GetIt (Tools menu, GetIt Package Manager) and either clicking the Libraries category or searching for "Boost" in the search box.
Boost is available in three flavours:
These are just some some of the really useful libraries now available to you with C++Builder. Also supported are libraries like Boost.asio, a famous library for asynchronous network and other I/O; Boost.InterProcess for interprocess communication; Boost.lockfree for non-locking data structures; and more.
It's taken us some time to release Boost for C++Builder 10.3.x, which we regret. We are very glad to have released it now, and would like to discuss our plans for the future.
Most importantly: It is our aim to support Boost day-of or close to the release date for any version. Unlike 10.3, this will happen for 10.3.2: you can expect Boost when 10.3.2 is released, and the same for 10.4 and other future versions.
You'll notice we now support a much newer version of Boost (1.68 today) with our newer C++17 compiler for Win32. This is a great benefit to you because of the newer libraries you can use. We plan to release an upgraded Win64 compiler soon, and when we do, that too will support a newer version. At the moment, we're unsure if this will be 1.68 or even newer, such as 1.70. (1.70 was released just thirty days ago, and we did not want to delay releasing any further in order to merge changes forward. However, it or 1.71 are a candidate version for the future.)
We'll also be staying up to date with Boost in future. We will be merging support forward as Boost releases new versions. Ideally, we will also be aiming to merge compatibility changes back into Boost itself. This isn't a matter of simply providing a patch to the Boost project: it's actually up to the maintainers of each individual library, all 127 of them, so this may take some time. During that, we'll be merging changes forward regularly ourselves.
We hope you find Boost and its presence through GetIt a great benefit to you. Thankyou for sticking with us while it took us time to release it, and we look forward to timely and swift releases of up to date Boost versions in the future.
Could you please specify when next release will be ready? This year or next?
Thanks for your attention
I see, thanks. We hope to have the same version for both Win32 and Win64 in the next release, which should resolve that.
The serialization library has different versions between boost 1.68 and 1.55. We get an "unsupported_version" exception when we try to open a 1.68 archive with a Win64 application.
RSP-24453 is being looked at right now! I can't promise a fix but it's on our list. Can you expand on archives created with Win32 not opening under Win64, please? Is that different versions of Boost?
Still stuck to 10.2 because we need boost::serialization and got two issues : First, archives created with Win32 compiler cannot be opened under Win64 compiler because of the different versions. Second, a bug in istream (RSP-24453, istringstream operator not evaluating bools correctly) causes the reading of archives to crash.
Thanks Robin! There have been a few things (I'd need to ask the engineers) but in general we take it on a case-by-case basis.I saw your email and will reply soon.
Hi David,Thank you very much for responding to this, it makes a big difference to know that somebody is paying attention. I would be very happy to help your engineers look into this.Do you have any specific list or examples of code constructs that are known to be slow with the Clang compiler, or do you just look into it on a case by case basis?I'll email you regarding sending you a copy of one of our projects.Regards,Robin
Is it possible that the real-world projects you're looking at all refer to some common headers or similar, where the 'specific code constructs' I mentioned are contained?
It would be really useful if you could send a copy of your project to Support. We can have our engineers analyse it and solve whatever it is that's causing the slowdown. Please feel free to email me about this too (david dot millington @embarcadero.com).
Yes, you can have both - or all three - installed at once. That gets you 1.68 for Win32 Clang, and 1.55 for Win64. We'll soon have an updated compiler and Boost for Win64 as well.
Do the supplied libraries support having version 1.68 on clang 32bit and 1.55 on clang 64 bit? I have several projects that would benefit from Boost, some are 32 bit and some are 64 bit projects.
Thanks - that was not obvious to me. But all sorted now.
Thanks - all sorted now.
Hi Andrew. Boost is available for 10.3.1 and above (that build number is earlier, I believe 10.3.0.) One of the reasons for 10.3.1 and above is to do with compiler quality fixes in 10.3.1.
boost has obviously been released for C++Builder 10.3.1 (not 10.3). So you will have to upgrade to 10.3.1 to get boost.