Hello Fons, There are 2 things about STL and template class precompilation. 1) It looks like many people are still using ROOT without precompiled STL containers included in $CINTSYSDIR/stl/*.dll. This will make things much simpler for many users. Are those files included and/or built in the latest ROOT distribution? If this is not the case, I recommend installing pure cint also. After the installation $CINTSYSDIR/stl/*.dll are created if you use Linux, HP-UX, Solaris, VisualC++, BorlandC++,etc. If you find those, copy all of them as $ROOTSYS/cint/stl/*.dll 2) About compiling template classes with script compiler, I am still not sure about the requirement. Will you elaborate what is needed with some examples? Thank you Masaharu Goto >For basic types, CINT uses the underlying machine representation. >However for complex objects, it is not guaranteed that the object >layout will be the same if you have an interpreted class not linked in >via the LinkDef mechanism versus the machine's representation. >Therefore I recommend always using rootcint (or equivalently the script >compiler) for linking in complex types. This is even possible with >template classes, though an explicit link is needed for each >instantiation on the template parameter, and it doesn't seem to work >with the script compiler > >(Note to Masaharu/Philippe: It would be really nice if you could load in a >compiled template by doing a script compile of a file with an explicit >instantiation of the template, eg: > >#include <vector.h> >template class vector<int>; > >(as opposed to template <> class vector<int> which is just a name >declaration), but this doesn't seem to work right now. It would make pulling >in needed templates as you work much easier... In fact, if you wanted to go >the extra mile and make it automatically do that, it would be even better (bu t >probably harder, maybe too hard). >)
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:35 MET