Hi Aaron, On Tue, 2003-09-16 at 01:08, Aaron Chou wrote: > Hi, > > I have created a shared library (libA, for example) which is > dynamically linked to ROOT using the rootcint dictionary generator to > make the dictionary files. It seems to work very well, at least for > the set of self-contained classes in my library. I have no trouble > creating instances of my new classes, and invoking their methods. > > Some questions for the experts: > > Is it possible for the methods of these classes to invoke > functions/methods from some arbitrary external shared library? What > is the procedure for doing this? By this, I mean what should I put in > my Makefile to create libA? I assume something must by put in the > Makefile--otherwise ROOT cannot know where to find the arbitrary > external shared library. > You don't have to put anything in your Makefile. You should just explicitly load the other shared libs first in ROOT, using: gSystem->Load("libOtherlib.so") or to have this done automatically you can link you shared lib with libOtherlib.so by specifying it on the link line when you create libA. > > Or must these external functions be statically linked to my own shared > library libA? How would I do this: statically link object code from > an external static library to a dynamic shared library I am creating? > What are the 'ld' options I would have to use? > No need to statically link, just link with the other shared lib. -- Fons -- Org: CERN, European Laboratory for Particle Physics. Mail: 1211 Geneve 23, Switzerland E-Mail: Fons.Rademakers@cern.ch Phone: +41 22 7679248 WWW: http://www.rademakers.org/fons/ Fax: +41 22 7679480
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:15 MET