R__Init and iostream


I am trying to compile some code developed with root version 3.02/07 with root version 3.10/02. Using VC++6.0 I get errors due to the R__Init member function no longer being needed:
c:\sctdaq\stdll\stdll_cint.cpp(103) : error C2039: ‘R__Init’ : is not a
member of 'TLogger’
c:\sctdaq\stdll\tlogger.h(19) : see declaration of ‘TLogger’

and errors from multiple istream/ostream declarations:
c:\root\include\riosfwd.h(25) : error C2874: using-declaration causes a
multiple declaration of 'istream’
c:\program files\microsoft visual studio\vc98\include\iosfwd(256)
: see declaration of ‘istream’

What if anything should I replace the R__Init member functions with? How do I resolve the iostream multiple declarations?

Thanks and Best Regards,


Hi Will,

Did you regenerate the dictionaries? This is necessary most of the time when you upgrade from one version of ROOT to the other.

If the R__Init is not in a dictionary, I would need more information in order to help you out (like the file where R__Init is being used).

For the code duplication, you may want to try replacing your iostream include by


Hi Philipe,

Rebuilding the dictionaries worked and fixed the R__Init error message. Thanks!

In addition to iostream.h I also had to remove

#include <iomanip.h>

after adding Riostream.h.