Hello Rooters, I tried to add a simple class to ROOT to make it accessible from interactive interface. System is HP-UX atlas09 B.10.20 A 9000/831 $ROOTSYS = /afs/cern.ch/na49/library/local/ROOT/hpux10/root What I've got is: Generating dictionary ... Note: operator new() masked 1c Note: operator delete() masked 1c Class Bubu: Streamer() not declared Class Bubu: ShowMembers() not declared CC -g -w -O +a1 -I/afs/cern.ch/na49/library/local/ROOT/hpux10/root/include -c Bubudict.C Linking buburoot ... CC -g -w -O +a1 -Wl,-E main.o Bubu.o Bubudict.o -L/afs/cern.ch/na49/library/local/ROOT/hpux10/root/lib -lNew -lBase -lCint -lClib -lCont -lFunc -lGraf -lGraf3d -lHist -lHtml -lMatrix -lMeta -lMinuit -lNet -lPostscript -lProof -lTree -lUnix -lZip -lGpad -lGX11 -lMotif -lWidgets -lX3d -L/usr/lib/Motif1.1 -lXm -lXt -lX11 -lm -lPW -ldld -o buburoot /usr/ccs/bin/ld: Unsatisfied symbols: Virtual table for class 'TRint': first non-inline virtual function in 'TRint' is not defined. (1930) Error (data) TRint::TRint(char*,int*,char**,void*,int) (code) *** Error exit code 1 Any suggestions ? May be I missed some inmportant point... Class code and related file follow: ////////////////////////////////////////////////////// Bubu.h: #ifndef _Bubu_ #define _Bubu_ #include "Rtypes.h" class Bubu { public: Bubu(Int_t id = 0); void Id( Int_t id ); void Show(); private: Int_t fBubuID; }; #endif // _Bubu_ //////////////////////////////////////////// Bubu.C: #include "Bubu.h" #include <iostream.h> Bubu::Bubu(Int_t id) { fBubuID = id; } void Bubu::Id( Int_t id) { fBubuID = id; } void Bubu::Show() { cout << "Hello World from Bubu " << fBubuID << endl; } //////////////////////////////////////////// LinkDef.h: #ifdef __CINT__ #pragma link off all globals; #pragma link off all classes; #pragma link off all functions; #pragma link C++ class Bubu; #endif //////////////////////////////////////////// main.C: #include "TROOT.h" #include "TRint.h" extern void InitGui(); VoidFuncPtr_t initfuncs[] = { InitGui, 0 }; TROOT root("Rint","The ROOT Interactive Interface", initfuncs); //___________________________________________________________________ int main(int argc, char **argv) { TRint *theApp = new TRint("Rint", &argc, argv, 0, 0); // Init Intrinsics, build all windows, and enter event loop theApp->Run(); delete theApp; return(0); } //////////////////////////////////////////// makefile: CXXFLAGS = -g -w -O +a1 -I$(ROOTSYS)/include LDFLAGS = -g -w -O +a1 -Wl,-E LD = $(CXX) ROOTLIBS = -L$(ROOTSYS)/lib -lNew -lBase -lCint -lClib -lCont -lFunc \ -lGraf -lGraf3d -lHist -lHtml -lMatrix -lMeta -lMinuit -lNet \ -lPostscript -lProof -lTree -lUnix -lZip ROOTGLIBS = -lGpad -lGX11 -lMotif -lWidgets -lX3d LIBS = $(ROOTLIBS) \ $(ROOTGLIBS) \ -L/usr/lib/Motif1.1 \ -lXm -lXt -lX11 -lm -lPW -ldld HDRS = Bubu.h SRCS = main.C Bubu.C Bubudict.C OBJS = main.o Bubu.o Bubudict.o PROGRAM = buburoot all: $(PROGRAM) $(PROGRAM): $(OBJS) @echo "Linking $(PROGRAM) ..." $(LD) $(LDFLAGS) $(OBJS) $(LIBS) -o $(PROGRAM) @echo "done" clean: @rm -f $(OBJS) core *.bak buburoot Bubudict.* ### Bubu.o: Bubu.h Bubudict.C: Bubu.h @echo "Generating dictionary ..." @rootcint -f Bubudict.C -c Bubu.h LinkDef.h
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:30 MET