Re: rootcint problem

Fons Rademakers (Fons.Rademakers@cern.ch)
Fri, 20 Feb 1998 15:45:10 +0100


Hi Paolo,

there is no difference between the rootcint -p option
or the LinkDef.h #pragma preprocess option. If a header
causes problems with -p it will also cause problems with
#pragma preprocess. The #pragma should be used to selectively
preprocess headers that don't cause problems, but for which
the preprocessed info is important for rootcint. I use this
pragma to preprocess some X11 and Xm headers.

Cheers, Fons.

Paolo Calafiura wrote:
>
>
> Of course I would have been happier with the selective preprocessing
> > in other cases one needs to use the -p (preprocess option). Often
> > this causes to much information to be provided to rootcint which
> > causes it to choke up. In some case a selective preprocessing
> > might be better. This can be done by the following pragma's in
> > the LinkDef.h file:
> >
> > #pragma preprocess X11/
> > #pragma preprocess ZIP.h
>
> but here I must not have understood what to do:
> if I use -p I get a problem, as you predicted
> origin:18:56:~/rootevent: rootcint -f dff.cxx -c -p -t Event.h LinkDef.h
> -t : trace execution
> CC -E -DTRUE=1 -DFALSE=0 -Dexternalref=extern -DSYSV -I.
> -I/usr/local/root/include -I/usr/local/root/src -D__CINT__
> -I/usr/local/root/cint/include /var/tmp/aaaa000lQ.C > /var/tmp/baaa000lQ
> LOADING file=TROOT.h:TROOT.h:/var/tmp/baaa000lQ
> CC -E -DTRUE=1 -DFALSE=0 -Dexternalref=extern -DSYSV -I.
> -I/usr/local/root/include -I/usr/local/root/src -D__CINT__
> -I/usr/local/root/cint/include /var/tmp/caaa000lQ.C > /var/tmp/daaa000lQ
> LOADING file=TMemberInspector.h:TMemberInspector.h:/var/tmp/daaa000lQ
> CC -E -DTRUE=1 -DFALSE=0 -Dexternalref=extern -DSYSV -I.
> -I/usr/local/root/include -I/usr/local/root/src -D__CINT__
> -I/usr/local/root/cint/include /var/tmp/eaaa000lQ.C > /var/tmp/faaa000lQ
> LOADING file=Event.h:Event.h:/var/tmp/faaa000lQ
> Error: class,struct,union or type __int64_t not defined
> FILE:/usr/include/sys/types.h LINE:42
> 3162:rootcint: rld: Fatal Error: attempted access to unresolvable
> symbol in rootcint: Init__12G__ClassInfo
>
> while if I set in LinkDef.h
> #pragma preprocess standards.h
> #pragma preprocess rpc/
> #pragma preprocess sys/
> and run with or without -p I see no difference
>
> Ciao,
> Paolo Calafiura

-- 
Org:    CERN, European Laboratory for Particle Physics.
Mail:   1211 Geneve 23, Switzerland          Phone: +41 22 7679248
E-Mail: Fons.Rademakers@cern.ch              Fax:   +41 22 7677910