Boost logo

Boost :

From: Anthony Williams (anthony.williamsNOSPAM_at_[hidden])
Date: 2003-10-31 08:35:59

"John Maddock" <john_at_[hidden]> writes:
>> I'm using VC++ 7.1 on Win2k and I have build the regex and thread libs
>> using the IDE which means that /Zc:wchar_t is not by default enabled. Are
>> you
>> saying that it should be? Is this true for both libs or just regex? I mean
>> I'm having these
>> settings for some time now and everything worked just fine ... and I'm not
>> sure if
>> I should really add the /Zc:wchar_t to these libs.
> No, you should build the libraries with the same settings that your project
> will use, if your project doesn't use /Zc:wchat_t then neither must your lib
> builds.
> What I'm trying to determine is what the default behaviour of the Boost
> build system should be.

IMHO, the build system is correct as-is --- require /Zc:wchar_t, since you
cannot reliably build a non-trivial application that uses wchar_t as a typedef
for unsigned short without lots of hacks. e.g.

WORD x=someIntegerReturnedFromWin32API();
std::string s=boost::lexical_cast<std::string>(x);

fails without /Zc:wchar_t on 1.30.0. This is fixed for 1.30.2, but how much
other code has the same problems?

I would recommend that VC7.1 users *always* have /Zc:wchar_t set unless they
have a good reason not to, regardless whether or not they use boost.


Anthony Williams
Senior Software Engineer, Beran Instruments Ltd.
Remove NOSPAM when replying, for timely response.

Boost list run by bdawes at, gregod at, cpdaniel at, john at