You forgot to implement the destructor in your cxx file. Rene Brun On Fri, 10 Oct 2003, 0ndrej Chvala wrote: > Dear rooters, > > I have created a very basics class, which is even based on aa working > class by Michal Kreps, added it into our small root project, compiled > the library and when I want to use that library, I get the following error: > > root [0] gSystem->Load("../lib/libmicro.so"); > dlopen error: > /afs/cern.ch/user/o/ondrejch/public/mixing/src/./../lib/libmicro.so: > undefined symbol: __vt_19TBigDSWriteParticle > Load Error: Failed to load Dynamic link library > /afs/cern.ch/user/o/ondrejch/public/mixing/src/./../lib/libmicro.so > *** Interpreter error recovered *** > > also when I want to link it with another code, I get: > > g++ -o /afs/cern.ch/user/o/ondrejch/public/dst_write/bin/dst_write > dst_write.o -L/afs/cern.ch/na49/library/pro/lib -ldb -ltrk -g > -L/afs/cern.ch/na49/library/local/ROOT/root/lib -lCore -lNew -lHist > -lCint -lMatrix -lTree -lPhysics -lRint -lMatrix -lMinuit -lEG > -lGraf-lGraf3d -lGpad -L/afs/cern.ch/na49/library/pro/DSPACK/lib > -ldspack /usr/local/lib/libshift.a > /afs/cern.ch/user/o/ondrejch/public/mixing/lib/libmicro.so > -L/usr/lib/gcc-lib/i386-redhat-linux/2.96 -lg2c > -L/afs/cern.ch/sw/fortran/pgi/pgi324/linux86/lib/ -lpgftnrtl -lpgc > -L/usr/lib/gcc-lib/i386-redhat-linux/2.96 -lg2c -ldl -lm -lc -lnsl -lcrypt > /afs/cern.ch/user/o/ondrejch/public/mixing/lib/libmicro.so: undefined > reference to `TBigDSWriteParticle::IsA(void) const' > /afs/cern.ch/user/o/ondrejch/public/mixing/lib/libmicro.so: undefined > reference to `TBigDSWriteParticle type_info function' > /afs/cern.ch/user/o/ondrejch/public/mixing/lib/libmicro.so: undefined > reference to `TBigDSWriteParticle virtual table' > collect2: ld returned 1 exit status > gmake[2]: *** > [/afs/cern.ch/user/o/ondrejch/public/dst_write/bin/dst_write] Error 1 > > We tried everything we could and we are still lost :( Thanks for any help > > These is the sources of the simple class in question --> > > TBigDSWriteParticle.h: > #ifndef TBigDSWriteParticle_Header > > > #define TBigDSWriteParticle_Header > > > #include "TObject.h" > #include "TObjArray.h" > > > class TBigDSWriteParticle : public TObject > { > private : > Float_t fPx; // Momenta in x direction in LAB > Float_t fPy; // Momenta in y direction in LAB > Float_t fPz; // Momenta in z direction in LAB > > > public : > TBigDSWriteParticle(); > TBigDSWriteParticle(Float_t px,Float_t py, Float_t pz); > ~TBigDSWriteParticle(); > > > void SetPx(Float_t px) {fPx=px;}; // Set px > void SetPy(Float_t py) {fPy=py;}; // Set py > void SetPz(Float_t pz) {fPz=pz;}; // Set pz > Float_t GetPx() {return fPx;}; // Returns px > Float_t GetPy() {return fPy;}; // Returns py > Float_t GetPz() {return fPz;}; // Returns pz > > ClassDef(TBigDSWriteParticle,1) // Event base class > > > }; > > > #endif > > TBigDSWriteParticle.cxx: > #include "TObject.h" > #include "TBigDSWriteParticle.h" > > > ClassImp(TBigDSWriteParticle) > > > TBigDSWriteParticle::TBigDSWriteParticle() > { > fPx=0; > fPy=0; > > fPz=0; > } > > > TBigDSWriteParticle::TBigDSWriteParticle(Float_t px,Float_t py, Float_t pz) > { > fPx=px; > fPy=py; > fPz=pz; > } > > > thanks and greetings, > 0ndrej CHvala, NA49 >
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:16 MET