[Qt-interest] ECL and expected unqualified-id before ‘;’ token

Rui Maciel rui.maciel at gmail.com
Thu Nov 5 10:00:45 CET 2009


While playing around with Qt (v4.5.2) and ECL I've stumbled on the following problem. I have a header/source 
file pair which is used to define a small class which will act as a wrapper to that library. The problem is 
that if I include ECL's header, which is ecl/ecl.h, in that class's source file I get the following compiler 
error:

<error>
In file included from /usr/include/ecl/ecl.h:68,
                 from LispWrapper.h++:5,
                 from MainWindow.h++:8,
                 from main.c++:3:
/usr/include/ecl/object.h:863: error: expected unqualified-id before ‘;’ token
</error>

After looking into that particular line of code I notice it's:

<source file=object.h>
857 struct ecl_instance {           /*  instance header  */
858         HEADER1(isgf);
859         cl_index length;        /*  instance length  */
860         cl_object clas;         /*  instance class  */
861         cl_objectfn entry;      /*  entry address  */
862         cl_object sig;          /*  generation signature  */
863         cl_object *slots;       /*  instance slots  */
864 };
</source>

And to make things weirder, as soon as I move the ecl/ecl.h inclusion from the class header file to the class 
source file then everything compiles perfectly.

As I'm using qmake to generate the makefile, is it possible that qmake (or any other Qt stuff) is screwing up 
when stumbling on another slots keyword? Either way, how can I fix this?


Thanks in advance,
Rui Maciel



More information about the Qt-interest-old mailing list