Hi, As suggested by the error message you can also use the -p options when running rootcint: rootcint dict.C -c -p engine.h However, on Solaris you may need to modify the file $ROOTSYS/MAKEINFO to replace the lines: CPPPREP = CC -C -E by CPPPREP = /usr/ccs/lib/cpp -E -C -B -D__sun -D__sparc -D__unix Philippe. > -----Original Message----- > From: owner-roottalk@pcroot.cern.ch > [mailto:owner-roottalk@pcroot.cern.ch]On Behalf Of HP Wei > Sent: Tuesday, August 01, 2000 9:44 AM > To: roottalk@pcroot.cern.ch > Subject: Re: [ROOT] How to use third party's shared library in Root/Cint > > > Dear Rooters: > > I want to use a set of commercial C libraries > (libeng.so for Sun's Solaris) in Root/Cint (2.25). > > Following Fon's suggestion, the plan is to > (1) rootcint dict.C -c engine.h > to create the dictionary files for CINT. > Here, the engine.h is the header file from > this commercial package. > It defines a set of C functions and #include > other header files. > > (2) compile this dict.C with main.C > in the example in the article "CINT Dictionary Generator". > > Now, during step (1) I encounter the following three types of > error (warning) situations. > In each situation, I also append the surrounding lines > in the header file at issue. > Can anyone help out?? > > > > (1) ------ Limitation message > Limitation: macro handled as typedef char INT8_T; FILE:tmwtypes.h LINE:88 > > ------ lines around LINE:88 > #ifndef INT8_T > # if CHAR_MIN == -128 > # define INT8_T char > # elif SCHAR_MIN == -128 <------- line 88 > # define INT8_T signed char > # endif > #endif > > (2) ------ Error message > Limitation: can not handle macro UINTEGER_T unsigned Use +P or -p option > FILE:tmwtypes.h LINE:284 > Error: class,struct,union or type UINTEGER_T not defined FILE:tmwtypes.h > LINE:285 > > ------ lines around LINE:284 > #ifndef UINTEGER_T > #define UINTEGER_T unsigned > #endif <------- line 284 > typedef UINTEGER_T uint_T; > > (3) ------ Error message > Error: Unexpected EOF G__exec_statement() FILE:engine.h LINE:175 > Advice: You may need to use +P or -p option > > ------ > Upon inspection of File:engine.h, I find that the line:175 is > the end of the file:engine.h. > > -------------------------- > > > > >
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:30 MET