Re: dictionary generation

From: Andy Haas (root_news@yahoo.com)
Date: Wed Aug 05 1998 - 23:07:43 MEST


---Robert Loke <loke@ifh.de> wrote:
>
> Hi Rooters!
> 
> Using the Event-class as given in one of the examples on the root -
> homepage, a problem concerning the dictionary generation or usage
occurs, when
> using a SGI running Irix 6.2 and gcc version 2.7.2.1 together with 
> root 2.00/09.
> 
> Applying rootcint to this file, I receive a message 
> 
> 		"Note: operator new() masked 1c"
> 
> which is regarded to be harmless - at least some time ago (does this
> still hold?). Afterwards, I compile the generated file and link the
> obejct file to my application. All happens without any error message
> or similar output. Starting the process, I receive a message
> 
> 	Warning in <TClass::TClass>: no dictionary for class Event available
> 
> which turns out to have a rather nasty reason, since ignoring this
> message leads to a segmentation violation when touching an instance of
> this class first.
> 
> Can somebody give me a hint about the origin of this error and how to
> avoid this?
> 
> Thanks, Robert
> 


Sounds to me like you forgot to also do:

rootcint -f test.C -c event.h linkdef.h

The -f is just for overwriting/creating the .C file in cast it
does/n't exist. The -c option however creates, in addition to the
streamer, buffer, etc. functions a lot of definitions and declarations
which must also be included in a project so that TROOT can make a
dictionary of which classes are being used...

Good luck, I struggled with that same thing for a while before I
stumbled on the solution. I've been meaning to write up a small
tutorial on the subject since existing documentation is shady at best
and it's a very important topic! 

Cheers, 
Andrew Haas
University of Washington
_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:35 MET