[ROOT] making of libraries

From: Markus Huening (mhuening@sun52a.desy.de)
Date: Wed Mar 07 2001 - 10:28:11 MET


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



This archive was generated by hypermail 2b29 : Fri Jun 08 2001 - 11:51:20 MEST