dear rooters I am trying to convert the hclient.C and hserv.C examples into stand alone c++ programs. unfortunately i get the following compiler message (linux or sgi both using gcc) b0rv04:~/bin/root/mystuff > make hclient g++ -fsigned-char -fPIC -I/usr/people/wenzel/bin/root/include -c hclient.cxx hclient.cxx: In function `int main()': hclient.cxx:70: `hpx' undeclared (first use this function) hclient.cxx:70: (Each undeclared identifier is reported only once hclient.cxx:70: for each function it appears in.) *** Error code 1 (bu21) any help is appriciated thanks Hans // Client program which creates and fills a histogram. Every 1000 fills // the histogram is send to the server which displays the histogram. // // To run this demo do the following: // - Open three windows // - Start ROOT in all three windows // - Execute in the first window: .x hserv.C // - Execute in the second and third windows: .x hclient.C // If you want to run the hserv.C on a different host, just change // "localhost" in the TSocket ctor below to the desried hostname. #include "TROOT.h" #include "TApplication.h" #include "TCanvas.h" #include "TLine.h" #include "TPaveLabel.h" #include "TFile.h" #include "TH1.h" #include "TH2.h" #include "TProfile.h" #include "TNtuple.h" #include "TRandom.h" #include "TSocket.h" #include "TServerSocket.h" #include "TInetAddress.h" #include "TPad.h" #include "TMessage.h" #include "TMonitor.h" #include "TBenchmark.h" int main() { TROOT hclient("hclient","Test of simple histogram client"); gROOT->Reset(); gBenchmark->Start("hclient"); // Open connection to server TSocket *sock = new TSocket("localhost", 9090); // Wait till we get the start message char str[32]; sock->Recv(str, 32); // server tells us who we are int idx = !strcmp(str, "go 0") ? 0 : 1; if (idx == 0) { // Create the histogram TH1F *hpx = new TH1F("hpx","This is the px distribution",100,-4,4); // hpx->SetFillColor(48); // set nice fillcolor } else { TH2F *hpx = new TH2F("hpxpy","py vs px",40,-4,4,40,-4,4); } TMessage mess(kMESS_OBJECT); //TMessage mess(kMESS_OBJECT | kMESS_ACK); // Fill histogram randomly gRandom->SetSeed(); Float_t px, py; const int kUPDATE = 1000; for (int i = 0; i < 25000; i++) { gRandom->Rannor(px,py); if (idx == 0) hpx->Fill(px); else hpx->Fill(px,py); if (i && (i%kUPDATE) == 0) { mess.Reset(); // re-use TMessage object mess.WriteObject(hpx); // write object in message buffer sock->Send(mess); // send message } } sock->Send("Finished"); // tell server we are finished gBenchmark->Show("hclient"); // Close the socket sock->Close(); return 0; } 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 # SGI with GCC CXX = g++ CXXFLAGS = -fsigned-char -fPIC -I$(ROOTSYS)/include LD = g++ LDFLAGS = -g -Wl,-u,__builtin_new -Wl,-u,__builtin_delete -Wl,-u,__nw__FUiPv SOFLAGS = -Wl,-soname,libEvent.so -shared LIBS = $(ROOTLIBS) -lg++ -lm -ldl GLIBS = $(ROOTLIBS) $(ROOTGLIBS) -lXpm -lX11 -lg++ -lm -lPW -ldl #------------------------------------------------------------------------------ EVENTO = Event.$(ObjSuf) \ EventCint.$(ObjSuf) EVENTS = Event.$(SrcSuf) \ EventCint.$(SrcSuf) MAINEVENTS = MainEvent.$(SrcSuf) MAINEVENTO = MainEvent.$(ObjSuf) EVENT = Event$(ExeSuf) EVENTSO = libEvent.$(DllSuf) HWORLDO = hworld.$(ObjSuf) HWORLDS = hworld.$(SrcSuf) HWORLD = hworld$(ExeSuf) HSERVO = hserv.$(ObjSuf) HSERVS = hserv.$(SrcSuf) HSERV = hserv$(ExeSuf) HCLIENTO = hclient.$(ObjSuf) HCLIENTS = hclient.$(SrcSuf) HCLIENT = hclient$(ExeSuf) HSIMPLEO = hsimple.$(ObjSuf) HSIMPLES = hsimple.$(SrcSuf) HSIMPLE = hsimple$(ExeSuf) MINEXAMO = minexam.$(ObjSuf) MINEXAMS = minexam.$(SrcSuf) MINEXAM = minexam$(ExeSuf) TSTRINGO = tstring.$(ObjSuf) TSTRINGS = tstring.$(SrcSuf) TSTRING = tstring$(ExeSuf) TCOLLEXO = tcollex.$(ObjSuf) TCOLLEXS = tcollex.$(SrcSuf) TCOLLEX = tcollex$(ExeSuf) VVECTORO = vvector.$(ObjSuf) VVECTORS = vvector.$(SrcSuf) VVECTOR = vvector$(ExeSuf) VMATRIXO = vmatrix.$(ObjSuf) VMATRIXS = vmatrix.$(SrcSuf) VMATRIX = vmatrix$(ExeSuf) VLAZYO = vlazy.$(ObjSuf) VLAZYS = vlazy.$(SrcSuf) VLAZY = vlazy$(ExeSuf) GUITESTO = guitest.$(ObjSuf) GUITESTS = guitest.$(SrcSuf) GUITEST = guitest$(ExeSuf) OBJS = $(EVENTO) $(HSERVO) $(HCLIENTO) $(HWORLDO) $(HSIMPLEO) $(MINEXAMO) $(TSTRINGO) \ $(TCOLLEXO) $(VVECTORO) $(VMATRIXO) $(VLAZYO) $(GUITEST) PROGRAMS = $(EVENT) $(HSERV) $(HCLIENT) $(HWORLD) $(HSIMPLE) $(MINEXAM) $(TSTRING) \ $(TCOLLEX) $(VVECTOR) $(VMATRIX) $(VLAZY) $(GUITEST) all: $(PROGRAMS) $(EVENT): $(EVENTO) $(MAINEVENTO) $(LD) $(SOFLAGS) $(LDFLAGS) $(EVENTO) $(OutPutOpt) $(EVENTSO) $(LD) $(LDFLAGS) $(MAINEVENTO) $(EVENTLIB) $(LIBS) $(OutPutOpt) $(EVENT) @echo "$(EVENT) done" $(HSERV): $(HSERVO) $(LD) $(LDFLAGS) $(HSERVO) $(GLIBS) $(OutPutOpt) $(HSERV) @echo "$(HSERV) done" $(HCLIENT): $(HCLIENTO) $(LD) $(LDFLAGS) $(HCLIENTO) $(GLIBS) $(OutPutOpt) $(HCLIENT) @echo "$(HCLIENT) done" $(HWORLD): $(HWORLDO) $(LD) $(LDFLAGS) $(HWORLDO) $(GLIBS) $(OutPutOpt) $(HWORLD) @echo "$(HWORLD) done" $(HSIMPLE): $(HSIMPLEO) $(LD) $(LDFLAGS) $(HSIMPLEO) $(LIBS) $(OutPutOpt) $(HSIMPLE) @echo "$(HSIMPLE) done" $(MINEXAM): $(MINEXAMO) $(LD) $(LDFLAGS) $(MINEXAMO) $(LIBS) $(OutPutOpt) $(MINEXAM) @echo "$(MINEXAM) done" $(TSTRING): $(TSTRINGO) $(LD) $(LDFLAGS) $(TSTRINGO) $(LIBS) $(OutPutOpt) $(TSTRING) @echo "$(TSTRING) done" $(TCOLLEX): $(TCOLLEXO) $(LD) $(LDFLAGS) $(TCOLLEXO) $(LIBS) $(OutPutOpt) $(TCOLLEX) @echo "$(TCOLLEX) done" $(VVECTOR): $(VVECTORO) $(LD) $(LDFLAGS) $(VVECTORO) $(LIBS) $(OutPutOpt) $(VVECTOR) @echo "$(VVECTOR) done" $(VMATRIX): $(VMATRIXO) $(LD) $(LDFLAGS) $(VMATRIXO) $(LIBS) $(OutPutOpt) $(VMATRIX) @echo "$(VMATRIX) done" $(VLAZY): $(VLAZYO) $(LD) $(LDFLAGS) $(VLAZYO) $(LIBS) $(OutPutOpt) $(VLAZY) @echo "$(VLAZY) done" $(GUITEST): $(GUITESTO) $(LD) $(LDFLAGS) $(GUITESTO) $(GLIBS) $(OutPutOpt) $(GUITEST) @echo "$(GUITEST) done" clean: @rm -f $(OBJS) EventCint.$(SrcSuf) EventCint.h core .SUFFIXES: .$(SrcSuf) ### Event.o: Event.h MainEvent.o: Event.h EventCint.$(SrcSuf): Event.h LinkDef.h @echo "Generating dictionary ..." @$(ROOTSYS)/bin/rootcint -f EventCint.$(SrcSuf) -c Event.h LinkDef.h .$(SrcSuf).$(ObjSuf): $(CXX) $(CXXFLAGS) -c $<
This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:34:32 MET