Did you create a dictionary for your class? For example: rootcint -f messDict.cxx -c Message.h LinkDef.h with LinkDef.h containing: #ifdef __CINT__ #pragma link off all globals; #pragma link off all classes; #pragma link off all functions; #pragma link C++ class c_SysMsg; #endif Cheers ,Fons. Mario Schubert wrote: > > Hello, > > has any bod a clue, why my program does not compile. > I want to send my own object with TMessage through TSocket. > > I added "ClassDef(c_SysMsg,1)" and "ClassImp(c_SysMsg)" in the recomended > places. Now linking fails. Without Class* the program crashes at this line: > c_SysMsg *SysMsg = (c_SysMsg*)msg->ReadObject(msg->GetClass()); > > Compiler: > /bin/sh ../libtool --silent --mode=link g++ -D_REENTRANT -I/usr/cern/Linux/root_pro/include -Wall -g -pg -s -o goniod -L/usr/cern/Linux/root_pro/lib -lNew -lCore -lCint -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lm -ldl -lpthread -rdynamic main.o Tools.o Message.o Messenger.o MotionControl.o AMLStepper.o MaxonDCMotor.o -lm > Message.o: In function `c_SysMsg::Dictionary(void)': > /home/erda/schubert/Projects/gonio/goniod/Message.cpp:25: undefined reference to `c_SysMsg::DeclFileLine(void)' > /home/erda/schubert/Projects/gonio/goniod/Message.cpp:25: undefined reference to `c_SysMsg::DeclFileName(void)' > /home/erda/schubert/Projects/gonio/goniod/Message.cpp:25: undefined reference to `c_SysMsg::Class_Version(void)' > /home/erda/schubert/Projects/gonio/goniod/Message.cpp:25: undefined reference to `c_SysMsg::Class_Name(void)' > Message.o: In function `c_SysMsg::c_SysMsg(void)': > /home/erda/schubert/Projects/gonio/goniod/Message.cpp:27: undefined reference to `c_SysMsg virtual table' > Messenger.o: In function `c_MessengerROOT::c_MessengerROOT(void)': > /home/erda/schubert/Projects/gonio/goniod/Messenger.cpp:35: undefined reference to `c_SysMsg::~c_SysMsg(void)' > Messenger.o: In function `c_MessengerROOT::~c_MessengerROOT(void)': > /home/erda/schubert/Projects/gonio/goniod/Messenger.cpp:42: undefined reference to `c_SysMsg::~c_SysMsg(void)' > collect2: ld returned 1 exit status > make: *** [goniod] Error 1 > make: Target `all' not remade because of errors. > > Thank you. > > Ciao, > Mario Schubert > --------------------------------------------- > Beschleunigerlabor der TU und LMU > Mario Schubert > EMail: mario.schubert@physik.uni-muenchen.de > Phone: (+49 89)289 14283 > FAX: (+49 89)289 14280 > Am Coulombwall 6, D-85748 Garching, Germany -- Org: CERN, European Laboratory for Particle Physics. Mail: 1211 Geneve 23, Switzerland E-Mail: Fons.Rademakers@cern.ch Phone: +41 22 7679248 WWW: http://root.cern.ch/~rdm/ Fax: +41 22 7677910
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:34 MET