On Thu, 21 Sep 2000, Edwin Leuven wrote:

> I get the following error message:
> /bin/sh ../../../libtool --mode=compile g++ -DHAVE_CONFIG_H -I. -I. -I../../../src 
>-I../../../src/ -I../../../src/frontends/    -I../../.. -I../../.. -I./kde 
>-I/usr/lib/qt-1.45/include -I/usr/include/kde     -I../../../src/frontends/xforms  
>-isystem /usr/X11R6/include  -g -O -fno-rtti -fno-exceptions -ansi -W -Wall 
>-Wno-return-type -c FormToc.C
> g++ -DHAVE_CONFIG_H -I. -I. -I../../../src -I../../../src/ -I../../../src/frontends/ 
>-I../../.. -I../../.. -I./kde -I/usr/lib/qt-1.45/include -I/usr/include/kde 
>-I../../../src/frontends/xforms -isystem /usr/X11R6/include -g -O -fno-rtti 
>-fno-exceptions -ansi -W -Wall -Wno-return-type -Wp,-MD,.deps/FormToc.pp -c FormToc.C 
>-o FormToc.o
> In file included from /usr/lib/qt-1.45/include/qpainter.h:33,
>                  from /usr/lib/qt-1.45/include/qdrawutil.h:28,
>                  from /usr/lib/qt-1.45/include/qscrollbar.h:30,
>                  from /usr/lib/qt-1.45/include/qscrollview.h:28,
>                  from /usr/lib/qt-1.45/include/qlistview.h:37,
>                  from formtocdialog.h:28,
>                  from FormToc.C:20:
> /usr/lib/qt-1.45/include/qregion.h:74: parse error before `^'
> /usr/lib/qt-1.45/include/qregion.h:118: duplicate nested type `QRegion'
> make[4]: *** [FormToc.lo] Error 1
> make[4]: Leaving directory `/tmp/lyx-devel/src/frontends/kde'
> make[3]: *** [all-recursive] Error 1
> make[3]: Leaving directory `/tmp/lyx-devel/src/frontends'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/tmp/lyx-devel/src'
> make[1]: *** [all-recursive-am] Error 2
> make[1]: Leaving directory `/tmp/lyx-devel/src'
> make: *** [all-recursive] Error 1
> 
> 
> Edwin
> 

I have seen this myself. It is to do with Qt breaking by trying to use xor
which is a keyword in standard c++. In my opinion this is a broken header
used in Qt. For the benefit of the list the relevant section is :

#if !(defined(__STRICT_ANSI__) && defined(_CC_GNU_)) && !defined(_CC_EDG_)
&& !defined(_CC_HP_) && !defined(_CC_HP_ACC_) && !defined(_CC_USLC_) &&
!defined(_CC_MWERKS_) && !defined(xor)
    QRegion xor( const QRegion & )  const; 
#endif
    QRegion eor( const QRegion & )      const; 


Does someone want to suggest how this might be worked around ? In my
opinion this is Qt being wrong, again.

thanks
john

p.s. Edwin, you may temporarily work around this by commenting out line 74
of /usr/lib/qt-1.45/include/qregion.h by placing // in front of
it. Otherwise you can wait till a fix is in place. 

Reply via email to