Re: rootcint pb

Rene Brun (Rene.Brun@cern.ch)
Thu, 30 Apr 1998 17:58:48 +0200


Yves,
If you specify one data member per line, rootcint will work.
This seems to be a parsing problem within rootcint.
The following works:
private:

TGLayoutHints *fBly;
TGLayoutHints *fBly1;
TGHSlider *fHslider1;
TGHSlider *fHslider2;
TGVSlider *fVslider1, *fVslider2;
TGTextEntry *fTeh1, *fTev1, *fTeh2, *fTev2;
TGTextBuffer *fTbh1, *fTbv1, *fTbh2, *fTbv2;
};

but, not the following

private:

TGLayoutHints *fBly, *fBly1;
TGHSlider *fHslider1;
TGHSlider *fHslider2;
TGVSlider *fVslider1, *fVslider2;
TGTextEntry *fTeh1, *fTev1, *fTeh2, *fTev2;
TGTextBuffer *fTbh1, *fTbv1, *fTbh2, *fTbv2;
};

Rene Brun

Yves Schutz wrote:
>
> Hi,
>
> I have the following problem:
>
> rootcint -f wa98dict.C -c YSSliders.h LinkDef.h
>
> Error: Too many '}' FILE:YSSliders.h LINE:42
> Error: Unexpected EOF G__exec_statement() FILE:YSSliders.h LINE:46
> Advice: You may need to use +P or -p option
> Error: Unexpected EOF G__fgetvarname():2 FILE:YSSliders.h LINE:46
> Advice: You may need to use +P or -p option
> Error: Unexpected EOF G__fgetstream():2 FILE:YSSliders.h LINE:46
> Advice: You may need to use +P or -p option
> Error: Unexpected EOF G__fgetstream():2 FILE:YSSliders.h LINE:46
> Advice: You may need to use +P or -p option
> Error: Unexpected EOF G__fgetstream():2 FILE:YSSliders.h LINE:46
> Advice: You may need to use +P or -p option
> Error: Unexpected EOF G__fgetstream():2 FILE:YSSliders.h LINE:46
> Advice: You may need to use +P or -p option
> Error: Unexpected EOF G__fgetstream():2 FILE:YSSliders.h LINE:46
> Advice: You may need to use +P or -p option
> Error: Unexpected EOF G__fgetstream():2 FILE:YSSliders.h LINE:46
> Advice: You may need to use +P or -p option
> Error: Unexpected EOF G__fgetstream():2 FILE:YSSliders.h LINE:46
> Advice: You may need to use +P or -p option
> Error: Unexpected EOF G__fgetstream():2 FILE:YSSliders.h LINE:46
> Advice: You may need to use +P or -p option
> Error: Unexpected EOF G__fgetc() FILE:YSSliders.h LINE:46
> Advice: You may need to use +P or -p option
> =====================================================================
> YSSliders.h
> =====================================================================
> #ifndef __YSSliders__
> #define __YSSliders__
>
> #include <TGFrame.h>
> #include <TGSlider.h>
> #include <TGTextEntry.h>
>
> enum FTestCommandIdentifiers {
> VId1,
> HId1,
> VId2,
> HId2,
> VSId1,
> HSId1,
> VSId2,
> HSId2
> } ;
>
> class YSSliders : public TGTransientFrame {
>
> public:
> YSSliders() ;
> YSSliders(const TGWindow *p, const TGWindow *main, UInt_t w, UInt_t h);
> virtual ~YSSliders();
>
> virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
>
> ClassDef(YSSliders,1) // Graphics User Interface
>
> private:
> TGVerticalFrame *fVframe1, *fVframe2;
> TGLayoutHints *fBly, *fBfly1;
> TGHSlider *fHslider1, *fHslider2;
> TGVSlider *fVslider1, *fVslider2;
> TGTextEntry *fTeh1, *fTev1, *fTeh2, *fTev2;
> TGTextBuffer *fTbh1, *fTbv1, *fTbh2, *fTbv2;
>
> };
>
> #endif
> ========================================================================
> LinkDef.h
> ========================================================================
> #ifdef __CINT__
>
> #pragma link off all globals;
> #pragma link off all classes;
> #pragma link off all functions;
>
> #pragma link C++ class YSWa98;
> #pragma link C++ class YSWork;
> #pragma link C++ class YSEvent;
> #pragma link C++ class YSParticule;
> #pragma link C++ class YSQuadrivecteur;
> #pragma link C++ class YSTrivecteur;
> #pragma link C++ class YSTrigger;
> #pragma link C++ class YSDisplay;
> #pragma link C++ class YSVirtualDisplay;
> #pragma link C++ class YSSetup;
> #pragma link C++ class YSGoliath;
> #pragma link C++ class YSLeda;
> #pragma link C++ class YSZdc;
> #pragma link C++ class YSMirac;
> #pragma link C++ class YSTof;
> #pragma link C++ class YSPmd;
> #pragma link C++ class YSPball;
> #pragma link C++ class YSMainFrame;
> #pragma link C++ class YSDialog;
> #pragma link C++ class YSMsgBox;
> #pragma link C++ class YSSliders;
>
> #pragma link C++ global WA;
> #pragma link C++ global WORK;
>
> #endif
>
> --
> Yves SCHUTZ GANIL (IN2P3 - CNRS) collaboration TAPS http://ganp03.in2p3.fr
> GANIL Telephone: (33) 2 31 45 47 01
> BP 5027 Fax : (33) 2 31 45 46 65
> F-14076 Caen e-mail : mailto:SCHUTZ@IN2P3.FR