Hello Rene, thank you, in fact i had a bug in makefile. Just another small question: RunHeader should be filled only once, while Event should be filled every event. tree->Fill() fills all branches at the same time. I tried branch->Fill() but it seems not to work correctly. Is there any way to fill branches independently? A+, Mariusz On Mon, 30 Sep 2002, Rene Brun wrote: > Hi Mariusz, > > You forgot to generate/link the dictionary. > You can see an example in the $ROOTSYS/test/Makefile > or simply in the few lines below; > > g++ -g -Wall -fPIC -I$ROOTSYS/include -c MainEvent.cxx > rootcint -f EventDict.cxx -c Event.h EventLinkDef.h > g++ -g -Wall -fPIC -I$ROOTSYS/include -c EventDict.cxx > g++ -g -Wall -fPIC -I$ROOTSYS/include -c Event.cxx > g++ -shared -O Event.o EventDict.o -o libEvent.so > g++ -o Event MainEvent.o Event.o EventDict.o -L$ROOTSYS/lib \ > -lCore -lCint -lTree -lHist -lMatrix -lPhysics -lGraf -lm -ldl > > Rene Brun > > On Mon, 30 Sep 2002, Mariusz Sapinski wrote: > > > > > Hello Rooters, > > > > I'd like to create a tree with RunHeader (one per run, ie. one per root > > file) and with Events. I've created 2 classes: RunHeader and Event, both > > following the example in $ROOTSYS/tests/. For both of them i can produce > > dictionary and shared library. But when i link whole program i get the > > message: > > RunHeader.o: In function `RunHeader::Dictionary(void)': > > RunHeader.o(.text+0x32): undefined reference to `RunHeader::Class_Name(void)' > > RunHeader.o: In function `operator>>(TBuffer &, RunHeader const *&)': > > RunHeader.o(.text+0x6d): undefined reference to `operator>>(TBuffer &, > > RunHeader *&)' > > RunHeader.o(.gnu.linkonce.d.__vt_9RunHeader+0xc0): undefined reference to > > `RunHeader::ShowMembers(TMemberInspector &, char *)' > > RunHeader.o(.gnu.linkonce.d.__vt_9RunHeader+0xc4): undefined reference to > > `RunHeader::Streamer(TBuffer &)' > > RunHeader.o: In function `RunHeader::StreamerNVirtual(TBuffer &)': > > RunHeader.o(.RunHeader::gnu.linkonce.t.StreamerNVirtual(TBuffer &)+0x1d): > > undefined reference to `RunHeader::Streamer(TBuffer &)' > > collect2: ld returned 1 exit status > > > > So in principle i got 2 questions. > > 1. Is my approach correct (to have 2 classes, both heritaging from > > TObject) > > 2. if(1 == 'yes') { printf("where is the source of my problem?\n"); } > > > > Thanks in advance (i always get an answer here so i can safely thank in > > advance), > > > > Mariusz > > >
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:12 MET