Re: [sigc] unexpected error while compiling



Quoting bergern ensinfo univ-nantes fr:

In file included from
/home/autres/berger/stage2005/include/sigc++/signal.h:8,
                from
/home/autres/berger/stage2005/include/sigc++/sigc++.h:23,
                from
/home/autres/berger/stage2005/include/elisa/elisa_observer.h:27,
                from
/home/autres/berger/stage2005/include/elisa/elisa_variable.h:26,
                from
/home/autres/berger/stage2005/include/elisa/elisa_model.h:23,
                from elisa_interface.h:15,
                from main.cpp:3:
/home/autres/berger/stage2005/include/sigc++/signal_base.h: Dans
constructor «
  sigc::internal::temp_slot_list::temp_slot_list(std::list<sigc::slot_base,
  std::allocator<sigc::slot_base> >&) »:
/home/autres/berger/stage2005/include/sigc++/signal_base.h:178: attention :
default-initialization
  of `std::list<sigc::slot_base, std::allocator<sigc::slot_base>
  >&sigc::internal::temp_slot_list::slots_', which has reference type
In file included from
/home/autres/berger/stage2005/include/sigc++/sigc++.h:23,
                from
/home/autres/berger/stage2005/include/elisa/elisa_observer.h:27,
                from
/home/autres/berger/stage2005/include/elisa/elisa_variable.h:26,
                from
/home/autres/berger/stage2005/include/elisa/elisa_model.h:23,
                from elisa_interface.h:15,
                from main.cpp:3:
/home/autres/berger/stage2005/include/sigc++/signal.h: At global scope:
/home/autres/berger/stage2005/include/sigc++/signal.h:448: error: erreur de
  syntaxe before `*' token
/home/autres/berger/stage2005/include/sigc++/signal.h:455: error:
invalid data
  member initialization
/home/autres/berger/stage2005/include/sigc++/signal.h:455: error: (use `=' to
  initialize static data members)
/home/autres/berger/stage2005/include/sigc++/signal.h:456: error: erreur de
  syntaxe before `->' token
/home/autres/berger/stage2005/include/sigc++/signal.h:459: error: erreur de
  syntaxe before `return'
/home/autres/berger/stage2005/include/sigc++/signal.h:463: error: erreur de
  syntaxe before `}' token
/home/autres/berger/stage2005/include/sigc++/signal.h:471: error:
`signal_emit0
  ' is not a template
/home/autres/berger/stage2005/include/sigc++/signal.h:472: error: le C++ ISO
  interdit la déclaration de « signal_emit0 » sans type
/home/autres/berger/stage2005/include/sigc++/signal.h:472: error:
template-id `
  signal_emit0<T_return, sigc::nil>' used as a declarator
/home/autres/berger/stage2005/include/sigc++/signal.h:472: embrouillé par les
erreurs précédentes, abandon
make: *** [main.o] Erreur 1




Does anybody understand ? I don't... Sorry to bother !


BERGER Nicolas.

PS:  here's the hierarchy I am working into :

home
|
|--elisa
|
|--framework

The error occurs when I compile files inside the framework directory, but not
when I compile files inside the elisa directory...
_______________________________________________
libsigc-list mailing list
libsigc-list gnome org
http://mail.gnome.org/mailman/listinfo/libsigc-list


It seems that Qt include files can mess the compiler ! I mean including header
files for Qt components causes errors in code that normally compiles well. See
this example :
-----------------------------------------------------------------------------------------
g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"elisa\"
-DVERSION=\"1.0.3\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1
-DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1
-DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1
-DGC_LINUX_THREADS=1 -D_REENTRANT=1 -DTHREAD_LOCAL_ALLOC=1 -DSILENT=1
-DNO_SIGNALS=1 -DNO_EXECUTE_PERMISSION=1 -DALL_INTERIOR_POINTERS=1
-DJAVA_FINALIZATION=1 -DGC_GCJ_SUPPORT=1 -DATOMIC_UNCOLLECTABLE=1
-DHAVE_LIBDL=1 -DHAVE_MATHLIB_H=1 -DHAVE_GAOL_GAOL_H=1 -DELISA_DEBUG=0
-DELISA_PROFILE=0 -DSTDC_HEADERS=1 -DHAVE_STDLIB_H=1 -DHAVE_POW=1
-DHAVE_SQRT=1
-DELISA_FRAMEWORK=1 -DGC_NAME_CONFLICT=1 -I. -I. -I../gc/include -I..
-I/home/autres/berger/stage2005/include -I./interface/.ui -I./interface/.moc
-I./interface/ -I/usr/lib/qt-3.1/mkspecs/default -I. -I/usr/lib/qt-3.1/include
-I/home/autres/berger/stage2005/include -I../gc/include -I.. -MT
elisa_box_reduction.lo -MD -MP -MF .deps/elisa_box_reduction.Tpo -c
elisa_box_reduction.cpp  -fPIC -DPIC -o .libs/elisa_box_reduction.lo
------------------------------------------------------------------------------------------


Everything's ok, the make script contonues. But when I had the header
for Qt in
the file :

------------------------------------------------------------------------------------------
#include <qapplication.h>
#include <qscrollview.h>
#include <qlabel.h>
#include <qvbox.h>
#include <qlistview.h>
#include <qtable.h>
------------------------------------------------------------------------------------------

I get the following output :

------------------------------------------------------------------------------------------
In file included from elisa_constraint.h:33,
               from elisa_reduction.h:37,
               from elisa_box_reduction.h:27,
               from elisa_box_reduction.cpp:14:
elisa_variable.h: In member function `void elisa::SearchTree::splitBox(long
 int, const D&, const D&)':
elisa_variable.h:1919: error: syntax error before `adr'
elisa_variable.h: In member function `void elisa::SearchTree::splitBox(long
 int, const D*, int)':
elisa_variable.h:1962: error: syntax error before `adr'
elisa_box_reduction.cpp: In member function `virtual bool
 elisa::BoxReduction::reductionAlgorithm()':
elisa_box_reduction.cpp:40: error: syntax error before `*' token
elisa_box_reduction.cpp:99: error: syntax error before `*' token
elisa_box_reduction.cpp: In member function `bool
 elisa::BoxReduction::reduceLeft(Bound&) const':
elisa_box_reduction.cpp:119: error: syntax error before `)' token
elisa_box_reduction.cpp:142: error: syntax error before `)' token
elisa_box_reduction.cpp: In member function `bool
 elisa::BoxReduction::reduceRight(Bound&) const':
elisa_box_reduction.cpp:182: error: syntax error before `)' token
elisa_box_reduction.cpp:206: error: syntax error before `)' token
make: *** [elisa_box_reduction.lo] Erreur 1
------------------------------------------------------------------------------------------

Thus let me apologize, the problem does not come from the libsig
library... but
from Qt !!?

BERGER Nicolas.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]