Thank you for your suggestion. Indeed, it solved the problem. I commented line 131 in the file boost/config/compiler/visualc.hpp
Unfortunately we've never had anyone run the tests regularly on embedded platforms so your mileage may vary: so any feedback will be gratefully received!
Unfortunately, uncommenting that check solved the problem but partially. As my next testes, I tried to use Boost.Any and I see there are compilere related checks still present. When I include the any.hpp #include
and I'm getting this error message (I have to confess that it's hard for me to decipher it :-)) c:\boost\include\boost-1_33_1\boost\mpl\aux_\yes_no.hpp(42) : error C2265: '<Unknown>' : reference to a zero-sized array is illegal c:\boost\include\boost-1_33_1\boost\mpl\aux_\yes_no.hpp(47) : see reference to class template instantiation 'boost::mpl::aux::weighted_tag<n>' being compiled c:\boost\include\boost-1_33_1\boost\type_traits\broken_compiler_spec.hpp(23)
fatal error C1506: unrecoverable block scoping error
The message above relates to the following check of compiler:
#if !BOOST_WORKAROUND(BOOST_MSVC, == 1200) typedef char (&type)[n]; #else
This is a known issue: eVC++ bumps the version number up to 1201 or 1202 so a lot of version checks / workarounds don't work anymore. A large patch for this was added to mainline cvs, but it didn't make it in time for 1.33.1 (too big a patch) See http://lists.boost.org/Archives/boost/2005/07/90101.php John.