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