[ROOT] no joy with ROOT 3.05.05 + MSVC 7.1 (a.k.a. VS.NET 2003)

From: Langston, Matthew David (langston@SLAC.stanford.edu)
Date: Fri Jun 27 2003 - 18:44:37 MEST


Support for old iostreams (e.g. <iostream.h>) was removed in Microsoft Visual C++ 7.1 (a.k.a. VS.NET 2003). Only Standard C++ iostreams (e.g. <iostream>) are supported with VS.NET 2003. This prevented me from building ROOT 3.05.05 using vc 7.1, since ROOT still depends on old iostreams.

When I configured ROOT for both "win32" and "win32gdk", the build aborted early while compiling cint/src/longif.cxx because cint/include/longif.h includes iostream.h at line 55. 

I noticed these two lines in RConfig.h in the __HP_aCC section:

#     define R__ANSISTREAM    /* ANSI C++ Standard Library conformant */
#     define R__TMPLTSTREAM   /* iostream implemented with templates */

I tried defining R__TMPLTSTREAM in the _MSC_VER section of RConfig.h, but I received the same error when compiling cint/src/longif.cxx.

I noticed around line 55 in longif.h that if G__NEWSTDHEADER is defined, then <iostream> is included instead of <iostream.h>. This hinted that ROOT might support Standard C++ iostreams at some level. However, I know that the "G__" macros are internal to cint, and that configuring the ROOT sources should only be done with the "R__" macros in RConfig.h, so it wasn't clear to me how to "turn on" support for Standard C++ iostreams.

My question is, does ROOT support Standard C++ iostreams on any platform (I think the answer is probably yes)? If so, then how do I configure ROOT to use Standard C++ iostreams for vc 7.1?

One (perhaps major) problem is that cint/src/vcstrm.cxx (which, I believe, is cint's wrapper around the system's iostream implementation) appears to still use old iostreams. Does this mean that a new iostream wrapper needs to be created (perhaps vc71strm.cxx implemented in a new folder cint/lib/vc71stream/)? This looks like a lot of work.

Thank you for helping me build ROOT using vc 7.1.

Warmest regards, Matt

--
Dr. Matthew D. Langston
SLD, Stanford Linear Accelerator Center
langston@SLAC.Stanford.EDU



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:12 MET