Boost logo

Boost Users :

Subject: Re: [Boost-users] Boost: Getting Started on Windows
From: Andrew Maclean (andrew.amaclean_at_[hidden])
Date: 2010-09-26 20:17:24


The point is that that compiler is so old that namespaces were not
properly implemented, from memory there were conflicts in the std::
namespace. As the other poster also indicated, template support was
really poor and additionally there were bugs in the stl
implementation. Essentially you are constrained to use a very old
version of boost if you go down this path. Also be very careful about
for loops, this version of visual studio was not standards compliant.
The subtle issue here is that, in Visual Studio 6, variables declared
in a for-loop were visible from the loop's enclosing scope, so it was
quite possible to use the the variables outside the loop.
e.g
//
count = 10;
for (int i=0; i<count; ++i)
{
  //...do something
}
// In VS 6 this will work but not in Visual Studio 2005, 2008, 2010.
int x = i;
// Or worse:
count = i;

You are better off getting a more recent compiler. Visual studio 2010
or 2008 should work across all the windows platforms XP and greater.
My suggestion would be to install a more recent version, get it
working on some simple test cases. Then port your code. If you have
been using Visual Studio 6 exclusively you may have a bot of work to
do but it will be worth it.

Some of the breaking changes between VC6, VS2003, VS2005 and VS2008
can be found here:
http://msdn.microsoft.com/en-us/library/ms235427.aspx and here:
http://msdn.microsoft.com/en-us/library/ms177253.aspx

Hope this helps.

Regards
   Andrew

On Mon, Sep 27, 2010 at 8:54 AM, Olivier Bertrand <bertrandop_at_[hidden]> wrote:
>  Ok, but when I have tried a free version of Visual studio 2008 (because the
> 6.0 version was not compatible with Vista) I realized that the program I
> developed with it did not work under XP!!! That is why I continue with
> Visual studio 6.0 with which I can develop programs that work on all Windows
> systems.
>
> Anyway, even I am not familiar with the use of namespace, I think it is a
> standard C++ feature so why should this be dependent on the compiler
> version?
>
> Le 27/09/2010 00:38, OvermindDL1 a écrit :
>>
>> On Sun, Sep 26, 2010 at 11:43 AM, Olivier Bertrand<bertrandop_at_[hidden]>
>>  wrote:
>>>
>>>  Using this tutorial I tried to build the first sample with Windows
>>> Visual
>>> C++ 6.0.
>>>
>>> All seems correct in the settings, but the compilation failed with the
>>> following messages:
>>>
>>> --------------------Configuration: Sample - Win32
>>> Debug--------------------
>>> Compiling...
>>> Lambda.cpp
>>> c:\boost_1_44\boost\config\suffix.hpp(588) : error C2039: 'typeinfo' : is
>>> not a member of '`global namespace''
>>> c:\boost_1_44\boost\config\suffix.hpp(588) : error C2873: 'typeinfo' :
>>> symbol cannot be used in a using-declaration
>>> c:\boost_1_44\boost\mpl\aux_\yes_no.hpp(56) : fatal error C1506:
>>> unrecoverable block scoping error
>>> Error executing cl.exe.
>>>
>>> Sample.exe - 3 error(s), 0 warning(s)
>>>
>>> The second sample gave me similar errors.
>>>
>>> I need help to be able to use the Boost libs...
>>
>> visual C++ 6.0 is inching toward 13 years old, there is not much
>> nowadays that supports it, and I know many Boost sublibraries do not
>> (although some still do), however, MPL I doubt is one that does due to
>> its heavy template usage and VS6's lack of proper template support
>> (although it 'might', anyone want to chime in?).  You might try going
>> back to an older Boost version, maybe 1.33 or so, when VC6 was still
>> somewhat used.
>>
>> Personally, I would highly recommend at least downloading the free
>> Visual Studio 2010 (or 2008) Express version to get upgraded to
>> something more modern.
>> _______________________________________________
>> Boost-users mailing list
>> Boost-users_at_[hidden]
>> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users

-- 
___________________________________________
Andrew J. P. Maclean
Centre for Autonomous Systems
The Rose Street Building J04
The University of Sydney  2006  NSW
AUSTRALIA
Ph: +61 2 9351 3283
Fax: +61 2 9351 7474
URL: http://www.acfr.usyd.edu.au/
___________________________________________

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