
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