I'm trying to follow Dictionary Generation for Interactive Access Without I/O an
d RTTI example. But I'm having trouble making "myroot". I using egcs Linux ROOT
Version 2.20/06 and the makefile from $ROOTSYS/test/Makefile.
Right now I'm not attempting to link to myclasses and I still cannot figure thi
s out.
Anyone have an idea of what I'm doing wrong? MMany Thanks..
megux3 210% make
g++ -O -Wall -fno-rtti -fno-exceptions -fPIC -I/usr/local/root/include -c main
.C -o main.o
Linking myroot ...
main.o: In function `main':
main.o(.text+0x2f): undefined reference to `TRint::TRint(char *, int *, char **,
void *, int)'
ollect2: ld returned 1 exit status
make: *** [myroot] Error 1
----------------------
Here is main.C
-------------------
//--------------------------------------------------
#include "TROOT.h"
#include "TRint.h"
extern void InitGui(); // initializer for GUI needed for interactive interface
int Error;
VoidFuncPtr_t initfuncs[] = { InitGui, 0 };
// Initialize the ROOT system
TROOT root("Rint","The ROOT Interactive Interface", initfuncs);
int main(int argc, char **argv)
{
// Create interactive interface
TRint *theApp = new TRint("Rint", &argc, argv,0,0);
// Run interactive interface
theApp->Run();
delete theApp;
return 0;
}
//-------------
--------------------
Also the Makefile
___________________
ObjSuf = o
SrcSuf = cxx
ExeSuf =
DllSuf = so
EVENTLIB = $(EVENTO)
OutPutOpt = -o
ROOTLIBS = -L$(ROOTSYS)/lib -lNew -lBase -lCint -lClib -lCont -lFunc \
-lGraf -lGraf3d -lHist -lHtml -lMatrix -lMeta -lMinuit -lNet \
-lPostscript -lProof -lTree -lUnix -lZip
ROOTGLIBS = -lGpad -lGui -lGX11 -lX3d
# Linux with egcs
CXX = g++
CXXFLAGS = -O -Wall -fno-rtti -fno-exceptions -fPIC -I$(ROOTSYS)/include
LD = g++
LDFLAGS = -g
SOFLAGS = -shared
LIBS = $(ROOTLIBS) -lm -ldl -rdynamic
GLIBS = $(ROOTLIBS) $(ROOTGLIBS) -L/usr/X11R6/lib \
-lXpm -lX11 -lm -ldl -rdynamic
#------------------------------------------------------------------------------
HDRS = ppUtil.h ppVec.h
SRCS = main.cxx
# ppUtil.cc ppVec.cc
OBJS = main.o
#ppUtil.o ppVec.o ppUtilDict.o ppVecDict.o
PROGRAM = myroot
all: $(PROGRAM)
$(PROGRAM): $(OBJS)
@echo "Linking $(PROGRAM) ..."
@$(LD) $(LDFLAGS) $(OBJS) $(GLIBS) -o $(PROGRAM)
@echo "done"
clean:; @rm -f $(OBJS) core
###
ppUtil.o:ppUtil.h
ppVec.o:ppVec.h
ppVecDict.cxx:ppVec.h
@echo "Generating dictionary ..."
@rootcint ppVecDict.cxx -c ppVec.h
ppUtilDict.cxx:ppUtil.h
@echo "Generating dictionary ..."
@rootcint ppUtilDict.cxx -c ppUtil.h
.$(SrcSuf).$(ObjSuf):
$(CXX) $(CXXFLAGS) -c $<