I'm finally accepting the advantages of BOOST, and I'm trying to welcome these ominous libraries next to my minimalist source code. I haven't utilized anything from it yet, but i was wondering if any of you have experience with linking to BOOST in a static manner? I came across http://cc.byexamples.com/2008/08/16/static-linking-compilation-for-boost-c-libraries/ which I intend to follow for sport, (and because I dislike DLLs a whole lot ) - but what are your thoughts on this? I only want to utilize BOOSTs Threads and ASIO, but I guess I can replace many of my service classes with BOOST versions eventually, in order for me to keep focus on the bigger picture.
I'd gladly like to know of all your general experiences with BOOST, and of course how to start out with it on the top of a small project.
First, I'd suggest upgrading to the latest version of MinGW, and seeing what parts of the new C++ standard you have available. C++11 added alot of new multi-threading capabilities that MinGW might've already implemented (I'm not sure). You'll have to enable the MinGW C++11 WIP implementation with a compiler flag. (First try -std=c++11 and if that doesn't compile, try -std=c++0x) If you are going to take the time to learn a new library, it might as well be the new standard library wherever possible.
For that which the standard library doesn't cover, I'd then check boost. Alot of Boost is header-only, with no DLLs. Some parts require DLLs (like boost::filesystem).