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