Re: [ROOT] Help: Compiling error

From: Fons Rademakers (Fons.Rademakers@cern.ch)
Date: Thu Jan 25 2001 - 19:26:21 MET


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