Hi, I'm trying to build a stand-alone executable, but I get errors like those below, followed by a horde or "undefined reference" complaints that do not contain the words "in-charge". I'm running Linux 9.0.1, gcc 3.2.2-5, root 3.05/5 + MySQL built by me (ouch!) I include my makefile below the list of the first few errors. I should say that ROOT makes a .so file with no complaints of each of my sources. I do not understand why gcc does not like linking the stuff. I am hoping I just did something dumb in my makefile... Any help appreciated! - John [jkrane@localhost treemaker]$ make all g++ -g ObjDate.o TradeEvent.o Nasdaq.o -lm -ldl -rdynamic -o Nasdaq ObjDate.o(.text+0x19): In function `ObjDate::ObjDate[not-in-charge]()': : undefined reference to `TObject::TObject[not-in-charge]()' ObjDate.o(.text+0x91): In function `ObjDate::ObjDate[in-charge]()': : undefined reference to `TObject::TObject[not-in-charge]()' ObjDate.o(.text+0x109): In function `ObjDate::ObjDate[not-in-charge](char const*, char const*)': : undefined reference to `TObject::TObject[not-in-charge]()' ObjDate.o(.text+0x2c7): In function `ObjDate::ObjDate[in-charge](char const*, char const*)': : undefined reference to `TObject::TObject[not-in-charge]()' ObjDate.o(.text+0x48f): In function `ObjDate::~ObjDate [not-in-charge]()': : undefined reference to `TObject::~TObject [not-in-charge]()' ObjDate.o(.text+0x4bf): In function `ObjDate::~ObjDate [in-charge]()': : undefined reference to `TObject::~TObject [not-in-charge]()' ObjDate.o(.text+0x4f0): In function `ObjDate::~ObjDate [in-charge deleting]()': : undefined reference to `TObject::~TObject [not-in-charge]()' ObjDate.o(.text+0x4f8): In function `ObjDate::~ObjDate [in-charge deleting]()': : undefined reference to `TObject::operator delete(void*)' ObjDate.o(.text+0x8c7): In function `__static_initialization_and_destruction_0(int, int)': : undefined reference to `ROOT::GenerateInitInstance(ObjDate const*)' ObjDate.o(.text+0x8cf): In function `__static_initialization_and_destruction_0(int, int)': ObjSuf = o SrcSuf = cpp ExeSuf = DllSuf = so EVENTLIB = $(EVENTO) OutPutOpt = -o #ROOTLIBS = -L$(ROOTSYS)/lib -lNew -lBase -lCint -lClib -lCont -lFunc \ ROOTLIBS = -L$(ROOTSYS)/lib -lNew -lCint -lClib -lCont -lFunc \ -lGraf -lGraf3d -lHist -lHtml -lMatrix -lMeta -lMinuit -lNet \ -lPostscript -lProof -lTree -lUnix -lZip ROOTGLIBS = -lGpad -lGui -lGX11 -lX3d +SELF,IF=LINUX,IF=-EGCS. # Linux CXX = g++ CXXFLAGS = -O -Wall -fPIC -I$(ROOTSYS)/include LD = g++ LDFLAGS = -g SOFLAGS = -Wl,-soname,libEvent.so -shared #LIBS = $(ROOTLIBS) -lg++ -lm -ldl -rdynamic LIBS = $(ROOTLIBS) -lm -ldl -rdynamic GLIBS = $(ROOTLIBS) $(ROOTGLIBS) -L/usr/X11R6/lib \ -lXpm -lX11 -lg++ -lm -ldl -rdynamic #+SELF,IF=LINUX,IF=EGCS. # Linux with egcs #CXX = g++ #CXXFLAGS = -O -Wall -fno-rtti -fno-exceptions -fPIC -I$(ROOTSYS)/include #LD = g++ #LDFLAGS = -g #SOFLAGS = -Wl,-soname,libEvent.so -shared #LIBS = $(ROOTLIBS) -lm -ldl -rdynamic #GLIBS = $(ROOTLIBS) $(ROOTGLIBS) -L/usr/X11R6/lib \ # -lXpm -lX11 -lm -ldl -rdynamic #------------------------------------------------------------------------------ OBJDATEO = ObjDate.$(ObjSuf) EVENTO = TradeEvent.$(ObjSuf) NASDAQO = Nasdaq.$(ObjSuf) OBJDATES = ObjDate.$(SrcSuf) EVENTS = TradeEvent.$(SrcSuf) NASDAQS = Nasdaq.$(SrcSuf) NASDAQ = Nasdaq$(ExeSuf) OBJS = $(OBJDATEO) $(EVENTO) $(NASDAQO) PROGRAMS = $(NASDAQ) all: $(PROGRAMS) # $(LD) $(LDFLAGS) $(OBJS) $(GLIBS) $(OutPutOpt) $(NASDAQ) $(NASDAQ): $(OBJS) $(LD) $(LDFLAGS) $(OBJS) $(LIBS) $(OutPutOpt) $(NASDAQ) @echo "$(NASDAQ) done" clean: @rm -f $(OBJS) core .SUFFIXES: .$(SrcSuf) ### .$(SrcSuf).$(ObjSuf): $(CXX) $(CXXFLAGS) -c $<
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:12 MET