Boost logo

Boost Users :

From: Mateusz £oskot (mateusz_at_[hidden])
Date: 2005-12-28 14:51:36


Hi,

On Tue, Dec 27, 2005 11:13 am, John Maddock wrote:
>> As I revealed there is a compiler detection mechanism in file
>> boost\config\compiler\visualc.hpp but I couldn't find
>> out how exactly it is used.
>>
>> I'd like to identify all Boost libraries which can not be used with
>> eVC++. Could anyone give me a few hints about how to start such
>> identification? Are there any macro definitions or can I expect that
>> visualc.hpp can
>> help me in this task?
>
> I suspect there was a bug in visualc.hpp that causes that #error to be
> generated in almost all cases with eVC++ (it's been fixed in cvs), so try
> commenting out the offending #error. After that if it compiles then it'll
> likely work (but try running a test program or two to make sure).

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 <boost/any.hpp>
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

I'd not want to send every such message and asking what to do with it.
I think it could be a little annoying, but may be the problem relates to
the bug in boost/config/compiler/visualc.hpp you mentioned above.
Second, I will try to investigate every such problem and find out if there
is possible some workaround. Certainly, it may be sometimes impossible for
me to find the solution because I'm a Boost newbie user, yet.

May be you could suggest what path should I follow in this job?
I mean, with what Boost libraries should I start first? Which libraries
are supposed to be less incompatible with VC++6.0/eVC++4.0?

Thank you in advance
Best regards

p.s. As I explained in my response to Victor A. Wagner's post
I'm not able to move to VC++ 2005 so I'll stay with eVC++ 4.0 for now.

-- 
Mateusz £oskot
http://mateusz.loskot.net

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