Dictionary generating problem with typedef

Hi all,
I am writing a standalone GUI application. I have to compile the ROOT classes with some external libraries written in C. So, I created my own classes which inherit from TQObject.

What I need is to have only the signal/slot mechanism for my classes. I created linkDef file, added ClassDef and ClassImp to class definition and implementation and of course Makefile. The problem is (I am not sure but I guess) with typedef instructions. The headers from external libraries define own types which I do not know how to handle it. The rootcint do not recognized it. If I exclude the class Acquiris.h from dictionary generating everything works fine and can be compiled but of course I do not have signal/slot…

I tried different things option -p, -c in rootcint, redefine types using #define but all without success.

Does anybody can look at my source code and help me? I attached the simplified version with only one window and two buttons. There are not included libspcm_linux libAqDrv4 (biger than 2MB), so the final target will not be linked.
I use root 5.27/06 29 Sep 2010, Red Hat Enterprise Linux AS release 4 (Nahant Update 4), g++3.4.6
I also tried ubuntu 8.04 with the same root version.

mini.tar.gz (126 KB)


you’ll need to combine two things: you provide some typedefs to CINT, e.g. in a file called acqTypes.h, and you run the external preprocessor:

$ cat acqTypes.h
typedef unsigned long long u_int64_t;
typedef long long int64_t;

$ rootcint -f acqDict.cpp -c -p -I./acquiris/include -I./spectrum/include/ acqTypes.h Spectrum.h Aquiris.h MainFrame.h  acqLinkDef.h

Works for me!

Cheers, Axel.

Thank you, It works now.