Boost logo

Boost Users :

From: Regis Desgroppes (yg-boost-users_at_[hidden])
Date: 2002-11-21 03:09:08


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

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.

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++...

Thank you for your attention and your previous and next answers,
Regis.

Dale wrote:

> > > By disabling the #error directive in the compiler configuration hpp
> > > file, I'm surprised to see all seem to work fine. So my 1st
> > question is
> > > :
> > > - Why such a #error directive ?
> >
> > Someone else will have to address this.
>
> Is the #error directive "Thread Support Unavailable"???
>
> If so...
>
> Your getting lucky! You'll probably find runtime errors. The #error
> directive stops you compiling programs that include Boost.Threads with
> applications that use the single-threaded C runtime library.
>
> Change your application settings to link against the multi-threaded
> (debug) runtime library and the #error will go away and your program has
> a chance of working correctly.
>
> If you're not using the multi-threaded C runtime, you'll have problems
> with any calls that store data within the C runtime, e.g. gmtime, strtok
> (the list goes on). Even if you don't use these, you'll also have problems
> because your malloc implementation won't be thread-safe.
>
> If not then I'll let someone else address the issue (it will probably help
> if you tell us what the #error message is).
>
> - Dale.
>
>
> Info: <http://www.boost.org>
> Wiki: <http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl>
> Unsubscribe: <mailto:boost-users-unsubscribe_at_[hidden]>
>
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net