Chris: when generating a dictionary you need to add a link definition file with the following line #pragma link C++ function cuber; in it. rootcint does it automatically for the class names, but not for functions. -regards, pasha. -------------------------------------------------------------------------------- Chris Jillings writes: > > Hello, > I tried to make a shared library with one function in it. I was able > to build the shared lib with no errors and load it into root. I just could > not execute the function in the interpreter. > > This is the root interpreter interaction. The .h, .C and a snippet of the > Makefile are below. > > Thank you in advance for your help. > > Chris > > > root [0] gSystem->Load("libcuber.so"); > root [1] Double_t x,y; > root [2] x =5.0; > root [3] y = cuber(x); > Error: No symbol null in current scope FILE:/tmp/09951daa LINE:1 > root [4] > > The cuber.h file was > > #ifndef __CUBER_H > #define __CUBER_H > #include "Rtypes.h" > > Double_t cuber(Double_t x); > > > #endif > > The cuber.C file was > > #include "Rtypes.h" > Double_t cuber(Double_t x) { > Double_t retvar = x*x*x; > return retvar; > > } > > I made everything with the usual procedure > > cuberdict.C: cuber.C cuber.h > echo "generating cuber dictionary" > rootcint cuberdict.C -c $(INCLUDE) $(ROOTOBJ) cuber.h > > cuberdict.o: cuberdict.C > $(CXX) -c $(CXXFLAGS) cuberdict.C > > cuber.o: cuber.C cuber.h Makefile > $(CXX) -c $(CXXFLAGS) $(ROOTOBJ) cuber.C > > libcuber: cuber.o cuberdict.o > $(LD) $(LDFLAGS) $(SOFLAGS) cuber.o cuberdict.o $(GLIBS) \ > -o libcuber.so > > > The Makefile definitions were unchanged since successfully putting classes > into a shareled lib. > > > > ================================================================= > = = > = Chris Jillings = > = Department of Physics phone/voice mail: (613) 545-6000x4805 = > = Queen's University fax: (613) 545-6813 = > = Kingston, Ontario email: chris@sno.phy.queensu.ca = > = Canada, K7L 3N6 web: http://sno.phy.queensu.ca = > = = > ================================================================= > > >
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:38 MET