Hi Maarten, thanks - it solves the problem. cheers Jiri Maarten Ballintijn <maartenb@mit.edu> writes: > Hi Jiri, > > How about adding > > #ifndef HAVE_ROOT > #define ClassDef(a,b) > #endif > > to the beginning of your file, and not putting the "#ifdef HAVE_ROOT" > around the ClassDef() inside the class? > > Cheers, > > Maarten. > > On Thu, 2003-10-30 at 05:09, Jiri Masik wrote: >> Hi, >> >> I have written an interface to the pdflib library. While Root is not >> necessary for its function I'd like to extend it by some features if >> Root is available on a given system. So I have the following lines >> >> class PDFSet >> #ifdef HAVE_ROOT >> : public TObject >> #endif >> { >> >> public: >> PDFSet(); //keep the currently set PDF >> PDFSet(Int_t Type, Int_t Group, Int_t Set); //set PDF >> >> ~PDFSet(); >> private: >> UShort_t fType; // PDF type >> UShort_t fGroup; // PDF group >> UShort_t fSet; // PDF set >> >> #ifdef HAVE_ROOT >> ClassDef(PDFSet,1) >> #endif >> }; >> >> It probably fails due to the limitation on the position of the >> ClassDef macro which has to be on the last line before };. If it is >> surrounded by #ifdef/#endif there is an unresolved reference >> PDFSet::ShowMembers(TMemberInspector&, char*) whenever I attempt to >> load the library into Root. Is there a way around this? >> >> thanks >> >> Jiri > > -- > Maarten Ballintijn <maartenb@mit.edu> > Massachusetts Institute of Technology
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:16 MET