Re: [boost] lexical_cast woes
From: "Michel André"
I get the following errors when compiling with the lexical_cast version in CVS on MSVC 7.0 do I have to enable wchar_t support on the command line or disable it via DISABLE_WIDE_CHAR_SUPPORT or whats the solution.
This problem was reported at the Boost-Users list, as well. It turns out that testing for MSVC 6, and disabling wide character support in that case, wasn't enough, as the same needs to be done if MSVC 7 is set to have wchar_t not as intrinsic type. I've therefore removed the "BOOST_MSVC <= 1200" test, again, and restored "BOOST_NO_INTRINSIC_WCHAR_T" test, which used to be, earlier. The reason the the test for MSVC was used first, was that the config for Intel C++ also defined BOOST_NO_INTRINSIC_WCHAR_T, regardless of whether it was the case or not, as the compiler didn't set a macro for it. However, it appears that the latest version of Intel C++ do get correct wide character support, when it's enabled. I've also changed bad_lexical_cast, to return the types used, in source()/target(), as given in Kevlin's suggestion (http://article.gmane.org/gmane.comp.lib.boost.devel/18240). As a small change, the warning with MSVC 7 for void * -> bool conversion is removed, using Kevlin's suggestion (http://article.gmane.org/gmane.comp.lib.boost.devel/18253). I've run the tests for Intel C++ 7.0 (strict mode), MSVC 7.0 (with and without wchar_t as intrinsic type), and MSVC 6.0, and it works. This is now fixed in the CVS. Thanks for the feedback. Regards, Terje
participants (1)
-
Terje Slettebø