Hi, I am trying to build a class into root. I am running on Linux, root 1.03/06. The event class is called "event" and it has a "hit" object as a member. This is analogous to the example in the test directory in the distribution. I find that i must put the headers for both classes in the same file, and also i must put the event.cc and hit.cc files together. If i don't, i get compilation errors like: eventDict.o: In function `G__hit_hit_0_0__FP8G__valuePcP8G__parami': eventDict.o(.text+0xef): undefined reference to `hit::hit(void)' eventDict.o(.text+0x13e): undefined reference to `hit::hit(void)' eventDict.o: In function `G__hit_read_1_0__FP8G__valuePcP8G__parami': eventDict.o(.text+0x1e4): undefined reference to `hit::read(int)' eventDict.o: In function `G__hit_ImplFileName_4_0__FP8G__valuePcP8G__parami': eventDict.o(.text+0x2b1): undefined reference to `hit::ImplFileName(void)' eventDict.o: In function `G__hit_ImplFileLine_5_0__FP8G__valuePcP8G__parami': eventDict.o(.text+0x2f1): undefined reference to `hit::ImplFileLine(void)' eventDict.o: In function `G__hit_Class_7_0__FP8G__valuePcP8G__parami': eventDict.o(.text+0x371): undefined reference to `hit::Class(void)' eventDict.o: In function `G__hit_Dictionary_8_0__FP8G__valuePcP8G__parami': eventDict.o(.text+0x3bd): undefined reference to `hit::Dictionary(void)' eventDict.o: In function `operator>>(TBuffer &, hit *&)': eventDict.o(.text+0x1f52): undefined reference to `hit::Class(void)' eventDict.o: In function `hit::IsA(void) const': eventDict.o(.text+0x2555): undefined reference to `hit::Class(void)' /tmp/cca008011.o: In function `event::event(void)': /home/eichblat/root-macro/treeTest/mcEvents/event.cc:9: undefined reference to `hit::hit(void)' I am making the eventDict files with the following command: eventDict.cc : event.cc event.h LinkDef.h $(ROOTCINT) -f $@ -c event.h hit.h LinkDef.h where LinkDef.h says : #ifdef __CINT__ #pragma link off all globals; #pragma link off all classes; #pragma link off all functions; #pragma link C++ class hit; #pragma link C++ class event; #endif I really don't know what i am doing, but i would like to separate the source code into separate files. Any help would be appreciated. Thanks! Steve Eichblatt eichblatt@fnal.gov
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:26:23 MET