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

Re: Bug#337423: kdelibs4-dev: Ambigous overload for 'operator+' error in kresources/manager.h



On Friday 04 November 2005 06:26 am, Xavier FACQ wrote:
> Package: kdelibs4-dev
> Version: 4:3.4.2-4
> Severity: serious
> Justification: no longer builds from source
>
> When i try to build kopete from svn or using sources from apt-get
> source, it always failed with this error :
>
> /usr/include/kde/kresources/manager.h: In member function 'QStringList
> KRES::Manager<T>::resourceTypeDescriptions() const':
> /usr/include/kde/kresources/manager.h:338: error: ambiguous overload for
> 'operator+' in '" (" + ((const
> KRES::Manager<T>*)this)->KRES::Manager<T>::mFactory->.KRES::Factory::typeDe
>scription((* it))'
> /usr/share/qt3/include/qstring.h:1072: note: candidates are: const
> QString operator+(QChar, const QString&) <near match>
> /usr/share/qt3/include/qstring.h:1080: note:                 const
> QString operator+(char, const QString&) <near match>
> make[2]: *** [addresseeitem.lo] Erreur 1
> make[2]: Leaving directory
> `/home/xfacq/tmp/Dev/svndir/kdenetwork/kopete/libkopete/ui'
> make[1]: *** [all-recursive] Erreur 1
> make[1]: Leaving directory
> `/home/xfacq/tmp/Dev/svndir/kdenetwork/kopete/libkopete'
> make: *** [all-recursive] Erreur 1

Could you somehow have QT_NO_CAST_ASCII defined while building?  Looking in 
qstring.h, it should be using this operator+ on line 1050:
inline const QString operator+( const char *s1, const QString &s2 )

Your build doesn't appear to be finding that, though.  Since the definition is 
wrapped in a #ifndef QT_NO_CAST_ASCII, it seems like having that defined 
while building could cause your build failure.

...

A quick grep -r through the kdenetwork sources shows that this appears to be 
defined in all the kopete Makefile.am's and Makefile.in's, but not in any 
other kdenetwork packages.  So, I wonder how the buildd's built it?

Josh



Reply to: