making myroot

From: Paul M. Eugenio (eugenio@exotic.phys.cmu.edu)
Date: Thu Feb 04 1999 - 14:16:54 MET


Dear Rooter's

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 $<



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:28 MET