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