Re: [ROOT] IO Problem with a TObjArray of non-TObjects

From: David Chamont (David.Chamont@poly.in2p3.fr)
Date: Wed Apr 10 2002 - 18:18:43 MEST


Rene Brun wrote:

> Hi David,
>
> I have no problems executing you small test program. I do:
>
> rootcint -f cint.cxx -c RtObj.h LinkDef.h
> g++ -fPIC -I$ROOTSYS/include -c cint.cxx mytest.cxx
> g++ -o mytest mytest.o cint.o `root-config --glibs`

Given the problem was surely linked to the compilation process,
I tried many options. It seems that the problem only arise
when the object files are grouped in a library, that there is
at least one explicit instanciation of RtObj<TString> in a
body file of this library, that the ClassImpT is placed in
the header file, and some other conditions I did not discovered.

The key point is the place of ClassImpT. I read somewhere in
the mailing list archive that it should be in a body file. When I
moved it in the body file, everything became more or
less OK. Yet I would like to understand the reason : ClassImpT
is made of parameterized definitions, and I was convinced
such kind of definitions were expected to be in the header files.

David C.



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:48 MET