We have a large custom C++ shared library (on Solaris machines)
libbox.so. [It's not derived from TObject.]
I want to access one particular class (Box) in that library
from within Cint.
I had experience in accessing c library before but have
some problem in this case.
Please advise me of any possible resolutions.
Here is the steps that I took.
---------------------------------
(1) copy all .H files for libbox.so into directory A.
(2) create boxLinkDef.h
#ifdef __CINT__
#pragma link off all globals;
#pragma link off all classes;
#pragma link off all functions;
#pragma link off all typedef;
#pragma link C++ class Box-;
#endif
(3) rootcint boxDict.C -c -p Box.H BoxLinkDef.h
I am stuck here by some strange errors.
Here are some examples.
Error: No symbol ino64_td_ino in current scope
FILE:/usr/include/sys/dirent.h LINE:63
Error: No symbol __extension__typedeflonglong_G_llong in current scope
FILE:/usr/local/gnu/install/gcc/2.9.5.2/lib/gcc-lib/sparc-sun-solaris2.6
/2.95.2/../../../../sparc-sun-solaris2.6/include/_G_config.h LINE:20
Any idea? Are these problems caused by those *.H files ?
Steps I am to take if (3) succeeds :
(4) g++ -O -fPIC -I./ -c -o boxDict.o boxDict.C
(5) g++ -O -fPIC -I/home/hp/ROOT/include -c -o myroot.o myroot.C
(6) g++ -O myroot.o boxDict.o -L/place/where/libbox.so/is -lbox .....
THanks,
HP
This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:09 MET