Simple way to create and merge shared libraries?

[quote]as far as I remember, you need “ClassDef” / “ClassImp” macros for a class only if you want to use ROOT I/O on its objects. So, if you do NOT need it, you can remove them (even if the class inherits from TObject).[/quote]Please note that neither ClassDef nor ClassImp is needed to to ROOT I/O. All you need for ROOT I/O is to generate the dictionary for the class.

Note that ClassDef provides an optimizations, object with a ClassDef will be smaller on file and will be read slightly faster. Also customizing schema evolution would be easier (since the ‘old version’ can easily be refered to with the ClassDef number they had).

Note that ClassImp is need only if you want to be able to produce the documentation for your class using THtml.

Note that inheriting from TObject (which also requires the use of ClassDef) allows your object to be stored in the ROOT collection, in particular in a TClonesArray; However with or without the inheritance from TObject you can store the object in a TTree (i.e. anything with a dictionary can go in a TTree).

Cheers,
Philippe.