I'm trying to include a C library into ROOT. In one of the header files,
there is a struct defined :
struct FrameH {
unsigned int run;
unsigned int frame;
unsigned int GTimeS;
unsigned int GTimeN;
unsigned short ULeapS;
int localTime;
double dt;
struct FrVect *type;
};
This, in turn, is used as the output of a function FrameHNew which I
want to use interactively :
struct FrameH *FrameHNew(char *name);
I build my linkdef file, ran rootcint (with a -p option) and everything
seemed to work.
if I define a FrameH struct and call FrameHNew, it seems OK. But if I
try to see an element of FrameH, for example
root [1] FrameH *frame
root [2] frame = FrameHNew("demo");
root [3] frame->run
Error: No symbol frame->run in current scope FILE:/tmp/daaaapuza LINE:1
*** Interpreter error recovered ***
So I tried to include FrameL.h, the original header file. but that
doesn't work because I have to use the -p option :
root [0] #include "FrameL.h"
Limitation: can not handle macro FRAMELIB_DEFINED DONE Use +P or -p
option
FILE:../FrameLSrc/FrameL.h LINE:10
I tried various options in rootcint but this doesn't seem to help
How can I send, in the interactive environement, the -p option to the
interpreter ?
Is it the right thing to do ?
How can I have access to the contents of my struct FrameH without
loading anything, since I supposed it was already loaded in the shared
library I made ?
-- ===================================================================== | Damir Buskulic | Universite de Savoie/LAPP | | | Chemin de Bellevue, B.P. 110 | | Tel : +33 (0)450091600 | F-74941 Annecy-le-Vieux Cedex | | e-mail: buskulic@lapp.in2p3.fr | FRANCE | ===================================================================== mailto:buskulic@lapp.in2p3.fr