
The #error directive resides in <boost directory>/boost/config/compiler/visualc.hpp :
// versions check: // we don't support Visual C++ prior to version 6: #if _MSC_VER < 1200 #error "Compiler not supported or configured - please reconfigure" #endif
Configuring boost to work (at least in some form) with the numerous compilers out there is very hard. Just look at the config section and you'll see the number of #define's involved. No testing is made for this compiler (which was released 5 1/2 years ago and replaced just over 4 years ago with VC6) and is severely broken. I guess no testing === not supported (we're professional here!)
As you can see, the version check doesn't deal with threads at all... Moreover, I compile in (debug) multithreaded mode and the PThread/WIN32 library I have is itself compiled in (release) multithreaded mode so I'm not supposed to face problems with run-time errors due to using wrong C/C++ run-time libraries.
Yep, that appears to be the case.
What I've found in many boost sources is that there are a lot of #if _MSC_VER compared to values lesser than 1200 (VC++6), so at least a few parts of the sources are compatible with VC++5, right ?
I'll be grateful if someone could give me a link that explain why the boost team has decided to put this version check (unconditional) while leaving parts of the sources with behaviors depending on previous versions of VC++...
The Boost 'team' consists of volunteers who contribute individual libraries. Some of these libraries were developed with support for VC5, most weren't. Boost is trying to remove checks for individual compilers in the source code and replace them with general checks that are configured with the config system. VC5 is so old and broken it's not registered on the current developers radar :-) I suggest that you fiddle with the config system (treating VC5 as VC6 initially) and run the regression tests to see how much/little of boost will work with VC5. - Dale.