Re: rootcint: constants

Rene Brun (Rene.Brun@cern.ch)
Tue, 01 Jun 1999 06:56:29 +0000


Hi Selim,
I could not run a complete test with your files. I am still missing
Date.H.
However, if you proceed as indicated below and also as shown at URL

http://root.cern.ch/root/RootCintMan.html

you should be able to see your enums, etc in your interactive session.
Make a file (say moLinkDef.h) with:

#ifdef __CINT__

#pragma link off all globals;
#pragma link off all classes;
#pragma link off all functions;

#pragma link C++ global ovAll;
#pragma link C++ global ovRate;
#pragma link C++ global ovPos;

#pragma link C++ class mo;
#pragma link C++ class moBase;
#pragma link C++ class StyledCanvas;

#endif

You should remove the 3 lines with #pragma from moBase.h

Then run rootcint

rootcint -f mydict.C -c mo.h moBase.h StyledCanvas.h moLinkDef.h

Rene Brun

Selim Issever wrote:
>
> Here is my second question about how to use rootcint:
>
> This is the inheritance scheme:
> mo <- moBase <- StyledCanvas. (all publically inherited)
>
> ------ moBase.H --------------------
> [snip]
> enum OvStyle {
> ovAll,
> ovRate,
> ovPos
> };
> #pragma link C++ global ovAll;
> #pragma link C++ global ovRate;
> #pragma link C++ global ovPos;
> ------------------------------------
>
> I do a:
> rootcint mydict.C -c mo.H moBase.H StyledCanvas.H
>
> everything compiles and links, but
>
> ---- application output -----------------
> subspace transmission: int a = ovAll;
> Error: No symbol ovAll in current scope FILE:./07323eaa LINE:1
> *** Interpreter error recovered ***
>
> Does anyone know, whats wrong?
> Thanks!
> Selim
>
> --
> Selim Issever | Tel: 040 8998-2843 +- Friends are relatives -----
> DESY-F15 | Fax: 040 8998-4033 +- you make for yourself. ---
> Notkestr. 85 | selim.issever@desy.de +-------------------------------
> 22603 Hamburg/Germany | http://www.physik.uni-dortmund.de/~issevers