Hi,
I am developing an interface between root and I2O, Intelligent Input/Output (I2O), a pupular interface to transmit data.
While things correctly work if I build my C++ program and link root libraries, I was not able to integrate I2O inside root, for interactive use for example.
The problem comes from the rootcint step: rootcint seems not to be able to parse the standard i2o .h files.
Specifically, I get
[pccmsgw] /cmsraid1/tom/TEST > make -f extMakeFile
Generating dictionary …
Warning: Illegal numerical expression 2_0_0 FILE:i2o/shared/i2omsg.h LINE:74
Warning: Illegal numerical expression 2_0_0 FILE:i2o/shared/i2omsg.h LINE:74
Warning: Illegal numerical expression 2_0_0 FILE:i2o/shared/i2otypes.h LINE:65
Warning: Illegal numerical expression 2_0_0 FILE:i2o/shared/i2otypes.h LINE:65
Warning: Illegal numerical expression 1_5_5 FILE:i2o/shared/i2odep.h LINE:41
Warning: Illegal numerical expression 1_5_5 FILE:i2o/shared/i2odep.h LINE:41
Limitation: can not handle macro ARCH unknown_arch Use +P or -p option FILE:i2o/shared/i2odep.h LINE:48
Limitation: can not handle macro BSP unknown_bsp Use +P or -p option FILE:i2o/shared/i2odep.h LINE:51
Error: Symbol S64 is not defined in current scope FILE:i2o/shared/i2otypes.h LINE:80
Error: class,struct,union or type S64 not defined FILE:i2o/shared/i2otypes.h LINE:124
Report: Unrecognized string ‘PRAGMA_PACK_POP PRAGMA_ALIGN_POP #endif’ ignored FILE:i2o/shared/i2otypes.h LINE:149
Warning: Illegal numerical expression 2_0_0 FILE:i2o/shared/i2osgl.h LINE:73
Warning: Illegal numerical expression 2_0_0 FILE:i2o/shared/i2osgl.h LINE:73
So tha main problem comes from the parsing of i2o/shared/i2otypes.h LINE:80, which reads
/* 64 bit defines */
typedef struct _S64 {
U32 LowPart;
S32 HighPart;
} S64; <---- this is line 80
I really do not see what is wrong with this.
Can anyone help?
Cheers
Tommaso