[ROOT] adding a class

From: Miroslav Helbich (helbich@mail.desy.de)
Date: Tue Jul 31 2001 - 17:36:38 MEST


 Hi all,

  I failed badly in adding a new class to root. Well, it worked well with
the very simple examples, but this doesn't.

I got a junk of code including classes which was not intended to be used
by root. Therefore a person didn't care about adding all the ClassDef and
ClassImp macros, having default constructors or putting just one class per
file. I don't want to touch debuged code, but I want to use it.

Questions are:

 1;  Well .L myfile.cxx works, but .. Is there a way to add it as a shared
library without adding all ClassDef etc. macros? Adding them makes my
code not to compile in different application. I don't want
any I/O. If I make a shared library without all that it compiles fine,
but Cint doesn't recognize my classes.

 2; I wrote a small class which uses the mentioned classes. If I add the
ClassDef and ClassImp macros to my new class, generate dictionary etc.,
but I left other classes untouched. I don't intend to call them directly
from root. It complains when loading shared library into root.

 root [0] .L pdf.so
dlopen error: /nevis/nevis11/helbich/xF3/mrst/./pdf.so: undefined symbol:
DeclFileLine__4MPdf
Load Error: Failed to load Dynamic link library
/nevis/nevis11/helbich/xF3/mrst/./pdf.so
*** Interpreter error recovered ***

 At the end I want to use libraries, since I want to integrate some
fortran functions into my system and that obviously cannot be done by root
interactive compiler.

 Can anyone give me a clue on how to deal with it?

				Regards

					Miro



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:53 MET