Hello RootWorld. Everything fine except what you are talking about has nothing to do with the original problem Dr. D. Sideris complained about. To provide backward / forward compatibles across the various Windows flavor(16-bit Windows 3.1, Windows 95, Windows NT, 16-bit Unicode and 8-bit ASCII applications) Microsoft has to employ CPP MACROS !!! No "namespace" can help here !!! The current ROOT remedy is provided via root/base/inc/Windows4Root.h file One has to include that into his / her source code. or look it up and build his/her own one. Another solution is to don't use the names those clash with VC++ macro names within only TVirtualX / TSystem classes Valery ----- Original Message ----- From: Matthew D. Langston <langston@SLAC.stanford.edu> To: John Zweizig <jzweizig@ligo.caltech.edu> Cc: Fons Rademakers <Fons.Rademakers@cern.ch>; Dr. D. Sideris <d.sideris@ic.ac.uk>; <roottalk@pcroot.cern.ch> Sent: 26 сентября 2000 г. 13:35 Subject: Re: [ROOT] Root Conflicts with Windows > Hi John, > > You do recompile your code when you switch to a new version of ROOT, don't > you? Since the interfaces to the ROOT shared libraries aren't versioned, > not recompiling your code exposes your users to an incredible amount of > risk. I would hope that the ROOT Team wouldn't even consider that forcing a > recompile to accommodate a ROOT upgrade is reason enough to not move to > namespaces. > > Putting each release of ROOT into its own namespace provides a tremendous > benefit. It would force you to recompile your code when changing to a > different version of ROOT, which is the only safe way to use the ROOT > libraries in the absence of versioned interfaces to the libraries. It also > documents your code as to which version of ROOT your code depends on. > Finally, the compiler and linker (as opposed to the documentation) protect > you from incompatibilities. > > Moving ROOT into a unique namespace for each release of ROOT wouldn't > necessarily change the way that you write your code initially. For example, > the following two lines in the configuration file for a project are all that > would be required to switch to a namespace-enabled version of ROOT: > > namespace ROOT = ROOT_2_25_03; > using namespace ROOT; > > Nothing else in the user's source code would have to change. I think most > users could handle this. > > Regards, Matt > > ----- Original Message ----- > From: "John Zweizig" <jzweizig@ligo.caltech.edu> > To: "Matthew D. Langston" <langston@SLAC.Stanford.EDU> > Cc: "Fons Rademakers" <Fons.Rademakers@cern.ch>; "Dr. D. Sideris" > <d.sideris@ic.ac.uk>; <roottalk@pcroot.cern.ch> > Sent: Tuesday, September 26, 2000 10:05 AM > Subject: Re: [ROOT] Root Conflicts with Windows > > > > > > > > On Tue, 26 Sep 2000, Matthew D. Langston wrote: > > > > > Why not put each release of ROOT into a separate namespace, i.e. > > > > > > namespace ROOT_2_25_03 > > > { > > > ... > > > } > > > > I for one don't want to have to modify and recomile all my code each time > > the root version changes. namespace Root would be sufficient. > > > >
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:33 MET