Getting rid of BOOST requirement

Apr 17, 2015 at 7:48 PM

I was wondering if there's a new version coming soon that will get rid of the BOOST requirement, since all platforms now have C++11 implementations that contain everything required?

Apr 17, 2015 at 8:31 PM
Hi alfarmer,

No C++11 doesn't contain everything we need. For example we use Boost.Asio in our http_client implementation for the network communication. In the near term I don't see the Boost dependency being removed. Is it causing problems for you?

FYI I have a change going in shortly that removes a bunch of the boost locks.

Apr 18, 2015 at 5:54 AM
Thanks, Steve. Good to know.

I'm having a number of issues with the library, actually, but the BOOST thing was just trying to eliminate another dependency to maintain.

I'd really like to use the C++ REST SDK, but the install & build complexities (and the fact that I must force those onto my customers because I can't build a single static library they link with) make it a difficult choice. What I (and I'd wager most) would like is just a .zip file containing a directory of source code that builds on Windows, iOS, and Android. There shouldn't be three radically different versions of the code that are installed in radically different ways on each platform. Install & build of Casablanca isn't as bad as, say, OpenSSL, but neither is it simple or elegant.
Apr 21, 2015 at 5:45 PM
Hi alfarmer,

If you wanted to take a look at producing a static library, I believe others have done this successfully in the past. I agree it would be easier to build if we had less dependencies, but I'm not seeing Boost or OpenSSL be removed from the library anytime soon. It sounds like your main concern is that our dependencies have to be acquired in a different mechanism on each platform (NuGet on Windows, apt-get on Linux, Homebrew on OS X, etc...). We already provide binaries for Windows and Android, does that make it any easier?

Apr 23, 2015 at 10:56 PM
There's non-Boost version of ASIO:
Although Boost was indispensable in pre-C++11 days, it is no longer. Switching to non-Boost ASIO will make building non-header-only Boost libraries unnecessary, which would be a great improvement, especially for mobile platforms.