Hi I am making some progress. But not quite there yet. Following Philippe's suggestion, I did the following >rootcint dict.C -c -p engine.h This eliminates all error messages that I encountered as described previously. Then, the following two compiling steps are all ok. g++ -O -fPIC -I/... -c -o dict.o dict.C and g++ -O myroot.o dict.o -L/rootlibs -L/commercial_shared_libs -o myroot However, in myroot (a custom version of Root/Cint), all the functions in the commercial shared libs cannot be recognized. In fact, when I look into dict.C and dict.h, I could not find any reference to the C functions defined in engine.h. Is there any other steps that I can do? Thanks, HP Note: myroot.C is ---------------- #include "TROOT.h" #include "TRint.h" TROOT root("Rint","The ROOT Interactive Interface"); int main(int argc, char **argv) { TRint *theApp = new TRint("Rint", &argc, argv, 0, 0); // Init Intrinsics, build all windows, and enter event loop theApp->Run(); delete theApp; return(0); } ---------------------------------------- Note: the first posting for your reference. >> 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