Re: [ROOT] Script compiler

From: Valeri Fine (Faine) (fine@bnl.gov)
Date: Tue Oct 24 2000 - 03:15:30 MEST


I had reported this problem to ROOT team earlier.
The problem is the include path for RootCint did not contain
the "current directory". I hope this was fixed.

You may not wait that fix and adjust things themselves.
Just add to your custom rootlogon.C macro a line:

gSystem->SetIncludePath("-I. -I$ROOTSYS/src");

But be careful since that will override the default ROOT sets

More safe would be first query the current include oath and append yours.
Something like this (I did not check this myself):

TString path = gSystem->GetIncludePath();
path += "-I. -I$ROOTSYS/src";
gSystem->SetIncludePath(path.Data());

 Hope this helps
                                Valery
----- Original Message -----
From: Pasha Murat (630)840-8237@169G <murat@ncdf41.fnal.gov>
To: George A. Heintzelman <gah@bnl.gov>
Cc: <roottalk@pcroot.cern.ch>
Sent: 15 октября 2000 г. 16:57
Subject: Re: [ROOT] Script compiler


> yes, use
>
> .L myclass.cxx+
>
> command, which generates a dictionary for your class, compiles teh dictionary and the
> original file and loads in a shared lib.  Pragma of use:
>
> #pragma includepath my_include_path
>
> I'm using ROOT 2.24/03 and in that old version this procedure
> works only if the loaded script resides in CURRENT directory. Otherwise ROOT script compiler
> doesn't generate a dictionary, however it honestly does the rest (compiles the class and
> loads in the .so file), which is extremely confusing. Could somebody check that this is
> fixed in 2.25?
>
> Also some time ago Jacek Holecek reported a still (?) undocumented but extremely useful
> feature of CINT: one can UNLOAD a shared lib w/o leaving a ROOT session. The steps include:
>
> root [0] .L DataVal.C+
> root [1] .files
> ... snip
>  10 fp=0x       0 lines=0    file="/cdf/data02/s5/mc/murat/online/./DataVal.so"
> root [2] .U /cdf/data02/s5/mc/murat/online/./DataVal.so
>
> It is essential that the name of the unloaded library is exactly what CINT thinks
> it is.
> -best, Pasha
>
>
> "George A. Heintzelman" wrote:
> >
> > Rooters,
> >
> > Is there any way to use the script compiler to load a class which is
> > declared in a .h file and defined in a .cxx file? I would like very
> > much to use this to make such shared libraries without having to make a
> > lot of subsidiary link files and such things, for quickly working with
> > a class that I plan eventually to go into full libraries.
> >
> > Is there an easy way to do this?
> >
> > Thanks,
> >
> > George Heintzelman
> > gah@bnl.gov
>



This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:35 MET