Hi Markus, you can not fake a complete classes. CINT needs to know the correct sizes when creating EqAdr and EqData objects grabber and grab. It will work if you make grabber and grab pointers to EqAdr and EqData. In that case you have only to provide simple forward declarations. #if !defined(__CINT__) #include <eq_client.h> #include "/usr/ttfsvr2/doocs/lib/include/eq_client.h" #else class EqAdr; class EqData; #endif Cheers, Fons. Markus Huening wrote: > > Hallo everybody, > > I have some problem when I try to include some external library into my > own to make it executeable with CINT. I couldn't read it directly with > rootcint so I tried some workaround which I found in the FAQs: > ... > > #if !defined(__CINT__) > > #include <eq_client.h> > #include "/usr/ttfsvr2/doocs/lib/include/eq_client.h" > > #else > > class EqAdr; > { > public: > EqAdr(); > ~EqAdr(); > void adr(char*); > }; > class EqData; > class EqCall > { > public: > EqCall(); > ~EqCall(); > EqData set(EqAdr*, EqData*); > }; > > #endif > */ > > class TScreen : public TH2S > { > private: > EqAdr grabber; > EqData grab; > EqData *dcsresult; > EqCall *dcscall; > > ... > > This works in compiled programs and I can load the library > (gSystem->Load) into the CINT. But as soon as I start the constructor of > TScreen (which also initialises grabber, grab, dcsresult & dcscall), > the interpreter is aborted with the error message > ... > root [1] fImg=TScreen("fImg","Picture from Viewscreen",640,256); > ld.so.1: /home/rasmus/Root/ROOT/bin/root.exe: fatal: relocation error: > file /home/mhuening/root/own/libTScreen.so: symbol __0oFEqAdrctv: > referenced symbol not found > ... > > What did I do wrong? > > Greetings > > Markus Huening > ====================================================== > Markus Huening > Desy/FDET > Notkestrasse 85 > D-22607 Hamburg > Germany > > Tel: ++49 (040)8998-3030 > Fax: ++49 (040)8998-3094 > e-mail: markus.huening@desy.de -- 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 : Fri Jun 08 2001 - 11:51:20 MEST