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