
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@gmail.com> 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@gmail.com> 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@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org 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/ ___________________________________________