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

From: Fons Rademakers (Fons.Rademakers@cern.ch)
Date: Mon Jun 30 2003 - 20:12:24 MEST


Hi Matt,

  please try with adding -DG__NEWSTDHEADER to CINTCXXFLAGS and CINTCFLAG
in $ROOTSYS/config/Makefile.win32gdk. Does this help? If not maybe Masa
can help.

Cheers, Fons.



On Fri, 2003-06-27 at 18:44, Langston, Matthew David wrote:
> 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
-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland
E-Mail: Fons.Rademakers@cern.ch              Phone: +41 22 7679248
WWW:    http://root.cern.ch/~rdm/            Fax:   +41 22 7679480



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