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

Tim Dewhirst tim at bugless.co.uk
Thu Nov 5 10:18:39 CET 2009


Hello

On 11/05/2009 09:00 AM, Rui Maciel wrote:
> 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?

I think this might help:

http://doc.trolltech.com/4.5/signalsandslots.html#using-qt-with-3rd-party-signals-and-slots

Thanks,

Tim



More information about the Qt-interest-old mailing list