Re: Can't compile dictionary

From: Fons Rademakers (Fons.Rademakers@cern.ch)
Date: Fri Jul 23 1999 - 16:40:35 MEST


Try again without ; after ClassDef()

Cheers, Fons.



Oliver Mang wrote:
> 
> Hello ROOTers,
> I'm having trouble compiling a dictionary generated by rootcint (ROOT
> 2.22.09, SuSE Linux 6.1, version 2.2.5 ,g++ version egcs-2.91.66).
> The classes CT1CamConfig and CT1TimeStamp inherit from TObject,
> CT1RunInfo inherits from CT1CamConfig and CT1Event from CT1TimeStamp.
> The dictionary CT1DatDict is generated from all four .H files.
> Questions are: Why are the Streamer and ShowMembers methods generated
> only for CT1TimeStamp ? and: Why does the compiler choke when compiling
> CT1DatDict.C ??
> I have attached the .h-files. If you need the classfiles, please let me
> know.
> Thanks in advance, Oliver
> 
> PS: Fons: I already had included ClassImp/ClassDef Macros. Sorry for the
> big message before, I didn't realize the dictionary was that big.
> ========== transcript of compilation =====================
> 
> ifkpe1> make CT1Dat
> g++ -O -Wall -fno-rtti -fno-exceptions -fPIC
> -I/users/home/mang/linux/root/include -c CT1CamConfig.C
> g++ -O -Wall -fno-rtti -fno-exceptions -fPIC
> -I/users/home/mang/linux/root/include -c CT1TimeStamp.C
> g++ -O -Wall -fno-rtti -fno-exceptions -fPIC
> -I/users/home/mang/linux/root/include -c CT1RunInfo.C
> g++ -O -Wall -fno-rtti -fno-exceptions -fPIC
> -I/users/home/mang/linux/root/include -c CT1Event.C
> /users/home/mang/linux/root/bin/rootcint -f CT1DatDict.C -c \
>                       CT1CamConfig.H CT1TimeStamp.H \
>                       CT1RunInfo.H CT1Event.H
> Note: operator new() masked 1c
> Note: operator delete() masked 1c
> Class CT1CamConfig: Streamer() not declared
> Class CT1CamConfig: ShowMembers() not declared
> Class CT1RunInfo: Streamer() not declared
> Class CT1RunInfo: ShowMembers() not declared
> Class CT1Event: Streamer() not declared
> Class CT1Event: ShowMembers() not declared
> g++ -O -Wall -fno-rtti -fno-exceptions -fPIC
> -I/users/home/mang/linux/root/include -c CT1DatDict.C
> CT1DatDict.C: In function `int G__CT1CamConfig_ClassDef_8_0(struct
> G__value *, char *, struct G__param *, int)':
> CT1DatDict.C:129: parse error before `private'
> CT1DatDict.C:129: warning: control reaches end of non-void function
> `G__CT1CamConfig_ClassDef_8_0(G__value *, char *, G__param *, int)'
> CT1DatDict.C: In function `Version_t Class_Version()':
> CT1DatDict.C:129: `libp' undeclared (first use this function)
> CT1DatDict.C:129: (Each undeclared identifier is reported only once
> CT1DatDict.C:129: for each function it appears in.)
> CT1DatDict.C:129: warning: control reaches end of non-void function
> `Class_Version()'
> CT1DatDict.C: At top level:
> CT1DatDict.C:129: virtual outside class declaration
> CT1DatDict.C:129: non-member function `IsA()' cannot have `const' method
> qualifier
> CT1DatDict.C: In function `class TClass * IsA()':
> CT1DatDict.C:129: confused by earlier errors, bailing out
> make: *** [CT1DatDict.o] Error 1
> ifkpe1>
> ============= end transcript =======================================
> --
> Oliver Mang
> Institut fuer Experimentelle und Angewandte Physik, CAU Kiel
> Phone: ++49/431/880-2482        E-Mail: mang@ifkhep.uni-kiel.de
> ---------------------------------------------------------------
> "The future is not what it used to be"
> 
>   --------------------------------------------------------------------------------
> /********************************************************************
> * CT1DatDict.h
> ********************************************************************/
> #ifdef __CINT__
> #error CT1DatDict.h/C is only for compilation. Abort cint.
> #endif
> #include <stddef.h>
> #include <stdio.h>
> #include <stdlib.h>
> #include <math.h>
> #include <string.h>
> extern "C" {
> #define G__ANSIHEADER
> #include "G__ci.h"
> extern void G__cpp_setup_tagtableCT1DatDict();
> extern void G__cpp_setup_inheritanceCT1DatDict();
> extern void G__cpp_setup_typetableCT1DatDict();
> extern void G__cpp_setup_memvarCT1DatDict();
> extern void G__cpp_setup_globalCT1DatDict();
> extern void G__cpp_setup_memfuncCT1DatDict();
> extern void G__cpp_setup_funcCT1DatDict();
> extern void G__set_cpp_environmentCT1DatDict();
> }
> 
> #include "TROOT.h"
> #include "TMemberInspector.h"
> #include "CT1CamConfig.H"
> #include "CT1TimeStamp.H"
> #include "CT1RunInfo.H"
> #include "CT1Event.H"
> 
> #ifndef G__MEMFUNCBODY
> #endif
> 
> extern G__linked_taginfo G__CT1DatDictLN_TClass;
> extern G__linked_taginfo G__CT1DatDictLN_TObject;
> extern G__linked_taginfo G__CT1DatDictLN_CT1CamConfig;
> extern G__linked_taginfo G__CT1DatDictLN_CT1TimeStamp;
> extern G__linked_taginfo G__CT1DatDictLN_CT1RunInfo;
> extern G__linked_taginfo G__CT1DatDictLN_CT1Event;
> 
>   --------------------------------------------------------------------------------
> #ifndef _CT1CAMCONFIG_H_
> #define _CT1CAMCONFIG_H_
> 
> #include "TObject.h"
> 
> class CT1CamConfig:public TObject
> {
> private:
>   UShort_t numpix;
>   UShort_t se1zero;
>   UShort_t se2zero;
>   UShort_t nummupix;
> 
> public:
>   CT1CamConfig();
> //   CT1CamConfig(UShort_t se1z, UShort_t se2z, UShort_t npix=127,
> //             UShort_t nmpix=0);
>   ~CT1CamConfig();
> 
>   UShort_t GetNumPix();
>   void     GetZeroPos(UShort_t *se1, UShort_t *se2);
>   UShort_t GetNumMuPix();
>   void     SetNumPix(UShort_t npix);
>   void     SetZeroPos(UShort_t se1, UShort_t se2);
>   void     SetNumMuPix(UShort_t mupix);
> 
>   ClassDef(CT1CamConfig,1);
> };
> 
> #endif // _CT1CAMCONFIG_H_
> 
>   --------------------------------------------------------------------------------
> #ifndef _CT1TIMESTAMP_H_
> #define _CT1TIMESTAMP_H_
> 
> #include "TObject.h"
> 
> const Int_t SecPerDay = 86400;
> 
> class CT1TimeStamp:public TObject
> {
> private:
>   Double_t jd;
>   Int_t    mjd;
>   ULong_t  secsincemidnight;
>   ULong_t  microsecs;
> 
> private:
>   void TimetoJD();
>   void JDtoTime();
> 
> public:
>   CT1TimeStamp();
>   ~CT1TimeStamp();
> 
>   void    SetTime(Int_t m, ULong_t sec, ULong_t usec);
>   void    SetTime(Double_t j, ULong_t sec, ULong_t usec);
>   void    SetMJD(Int_t m);
>   void    SetJD(Double_t j);
>   void    SetSecs(ULong_t sec);
>   void    SetUSecs(ULong_t usec);
>   Double_t GetJD();
>   Int_t    GetMJD();
>   ULong_t  GetSecs();
>   ULong_t  GetUSecs();
> 
>   ClassDef(CT1TimeStamp,1)
> };
> 
> #endif //_CT1TIMESTAMP_H_
> 
>   --------------------------------------------------------------------------------
> #ifndef _CT1RUNINFO_H_
> #define _CT1RUNINFO_H_
> 
> #include "CT1CamConfig.H"
> 
> class CT1RunInfo:public CT1CamConfig //:public RA, public Dec
> {
> private:
>   UChar_t  telescope;
>   UInt_t   runnum;
>   UInt_t   numevents;
>   Float_t ra;      // in hours
>   Float_t dec;     // in degree
>   UShort_t obstime; // in minutes
>   Char_t  on_off;  // 1=on, 0=off
>   Float_t mean_za; // mean zenith angle
> 
> public:
>   CT1RunInfo();
>   CT1RunInfo(UChar_t tel, UInt_t run, UInt_t numevt);
>   ~CT1RunInfo();
> 
>   UChar_t  GetTelescope();
>   UInt_t   GetRunNumber();
>   UInt_t   GetNumEvents();
>   void    GetCoords(Float_t *rightascension, Float_t *declination);
>   UShort_t GetObservTime();
>   Char_t  GetObservMode();
>   Float_t GetMeanZA();
> 
>   void SetTelescope(UChar_t tel);
>   void SetRunNumber(UInt_t run);
>   void SetNumEvents(UInt_t num);
>   void SetCoords(Float_t rightascension, Float_t declination);
>   void SetObservTime(UShort_t minutes);
>   void SetObservMode(Char_t on_off_flag);
>   void SetObservMode(char *mode);
>   void SetMeanZA(Float_t za);
> 
>   ClassDef(CT1RunInfo,1);
> };
> 
> #endif // _CT1RUNINFO_H_
> 
>   --------------------------------------------------------------------------------
> #ifndef _CT1EVENT_H_
> #define _CT1EVENT_H_
> 
> #include "CT1TimeStamp.H"
> 
> class CT1Event:public CT1TimeStamp
> {
> private:
>   UInt_t   runnum;
>   UInt_t   eventnum;
>   Short_t numadcpix;
>   Short_t numtdcpix;
>   UShort_t se1should;
>   UShort_t se1is;
>   UShort_t se2should;
>   UShort_t se2is;
>   Float_t hourangle; // in hours
>   Float_t pointcorr1, pointcorr2;
>   Float_t trigrate; // current trigger rate in Hz
> 
> public:
>   CT1Event();
>   CT1Event(UInt_t run, UInt_t evt);
>   ~CT1Event();
> 
>   UInt_t   GetRunNumber();
>   UInt_t   GetEventNumber();
>   Short_t GetNumADCPix();
>   Short_t GetNumTDCPix();
>   void    GetSE1(UShort_t *should, UShort_t *is);
>   void    GetSE2(UShort_t *should, UShort_t *is);
>   Float_t GetHourAngle();
>   void    GetPointCorr(Float_t *pc1, Float_t *pc2);
>   Float_t GetTriggerRate();
> 
>   void SetRunNumber(UInt_t run);
>   void SetEventNumber(UInt_t evt);
>   void SetNumADCPix(Short_t numadcpix);
>   void SetNumTDCPix(Short_t numtdcpix);
>   void SetSE1(UShort_t should, UShort_t is);
>   void SetSE2(UShort_t should, UShort_t is);
>   void SetHourAngle(Float_t ha);
>   void SetPointCorr(Float_t pc1, Float_t pc2);
>   void SetTriggerRate(Float_t rate);
> 
>   ClassDef(CT1Event,1);
> };
> 
> #endif //_CT1EVENT_H_

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



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:36 MET