Dear Rooters
Alos congratulations for 20000 downloads. I have a small problem using
the attached shell script i tried to generate the files so that i can
call cern library functions within root as described on the root web
page. Unfortunately I am getting the following messages.
Note: operator new() masked 1c
Note: operator delete() masked 1c
/tmp/cca024911.o: In function `main':
/home/wenzel/root/test/rootCERN.cxx:27: undefined reference to
`TRint::TRint(char *, int *, char **, void *, int)'
Any idea what I am doing wrong here?
cheers and thanks in advance for the help.
hans wenzel
IEKP Karlsruhe.
--------------06E7B3DEA060F95240608C84
Content-Type: text/plain; charset=us-ascii; name="junky"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="junky"
#! /bin/tcsh -f
rm -f CERNfunctions.h CERNLinkDef.h rootCERN.cxx CERN.cxx
#
# create CERNfunctions.h
#
cat >! CERNfunctions.h << "EOF"
#ifndef CERNfunctions_H
#define CERNfunctions_H
#ifndef ROOT_Rtypes
#include "Rtypes.h"
#endif
extern "C" Float_t denlan_(Float_t *x);
#endif
"EOF"
#
# Create CERNLinkDef.h
#
cat >! CERNLinkDef.h << "EO"
#ifdef __CINT__
#pragma link off all globals;
#pragma link off all classes;
#pragma link off all functions;
#pragma link C function denlan_;
#endif
"EO"
#
# create dictionary CERN.cxx
#
rootcint -f CERN.cxx -c CERNfunctions.h CERNLinkDef.h
#
# create rootCERN.cxx
#
cat >! rootCERN.cxx << "EOF2"
/////////////////////////////////////////////////////////////////////////
//
// Main program rootCERN.cxx to call CERNLIB functions
//
/////////////////////////////////////////////////////////////////////////
#include "TROOT.h"
#include "TRint.h"
#include <TROOT.h>
#include <TApplication.h>
#include "CERNfunctions.h"
extern void InitGui();
VoidFuncPtr_t initfuncs[] = { InitGui, 0 };
TROOT root("Rint","The ROOT Interactive Interface", initfuncs);
//______________________________________________________________________________
int main(int argc, char **argv)
{
// dummy block to force the CERNLIB functions to be linked by C++
if (0) {
float x = 2.3;
printf("denlan(x)=%g\n",denlan_(&x));
}
TRint *theApp = new TRint("Rint", &argc, argv, 0, 0);
// TApplication *theApp= new TApplication("App", &argc, argv);
// Init Intrinsics, build all windows, and enter event loop
theApp->Run();
delete theApp;
return(0);
}
"EOF2"
#
#g++ -O -Wall -fPIC -I$ROOTSYS/include -c rootCERN.cxx CERN.cxx -o rootCERN.o
# finally compile and link it
#
g++ -g -I$ROOTSYS/include rootCERN.cxx CERN.cxx -o rootCERN /usr/products/cern/v97a/lib/libmathlib.a -L$ROOTSYS/lib -lNew -lBase -lCint -lClib -lCont -lFunc -lGraf -lGraf3d -lHist -lHtml -lMatrix -lMeta -lMinuit -lNet -lPostscript -lProof -lTree -lUnix -lZip -lGpad -lGui -lGX11 -lX3d -L/usr/X11R6/lib -lXpm -lX11 -lg++ -lm -ldl -rdynamic
--------------06E7B3DEA060F95240608C84--