msvc: qHash

Peter Kümmel syntheticpp at gmx.net
Thu May 11 19:13:47 CEST 2006


David Faure wrote:
> On Thursday 11 May 2006 18:36, Peter Kümmel wrote:
>> David Faure wrote:
>>> I'm confused. This file doesn't use QHash/QSet at all, so why is a QHash implementation needed?
>>> Is it due to some other file hashing KSortableItems?
>>>
>> Yes, compiling stops there because it couldn't find a qHash function with the correct argument.
> 
> Where's "there"? I am quite confused as to why any code would try to hash KSortableItem or KSortableList.
> 
> Do you mean that even kdecore/tests/ksortablelisttest doesn't compile?
> 

When disabling the hack this happens:

Building CXX object kdeui/CMakeFiles/kdeui.dir/keditlistbox.obj
keditlistbox.cpp
c:\sandbox\qt4\qt4\include\qtcore\../../src/corelib/tools/qhash.h(729) :
error C2665: 'qHash' : none of the 16 overloads could convert all the argument types
        c:\sandbox\qt4\qt4\include\qtcore\../../src/corelib/kernel/qabstractitemmodel.h(316):
could be 'uint qHash(const QModelIndex &)'
        c:\sandbox\qt4\qt4\include\qtcore\../../src/corelib/tools/qhash.h(37): or 'uint qHash(char)'
        c:\sandbox\qt4\qt4\include\qtcore\../../src/corelib/tools/qhash.h(38): or 'uint qHash(uchar)'
        c:\sandbox\qt4\qt4\include\qtcore\../../src/corelib/tools/qhash.h(39): or 'uint qHash(signed char)'
        c:\sandbox\qt4\qt4\include\qtcore\../../src/corelib/tools/qhash.h(40): or 'uint qHash(ushort)'
        c:\sandbox\qt4\qt4\include\qtcore\../../src/corelib/tools/qhash.h(41): or 'uint qHash(short)'
        c:\sandbox\qt4\qt4\include\qtcore\../../src/corelib/tools/qhash.h(42): or 'uint qHash(uint)'
        c:\sandbox\qt4\qt4\include\qtcore\../../src/corelib/tools/qhash.h(43): or 'uint qHash(int)'
        c:\sandbox\qt4\qt4\include\qtcore\../../src/corelib/tools/qhash.h(44): or 'uint qHash(ulong)'
        c:\sandbox\qt4\qt4\include\qtcore\../../src/corelib/tools/qhash.h(52): or 'uint qHash(long)'
        c:\sandbox\qt4\qt4\include\qtcore\../../src/corelib/tools/qhash.h(53): or 'uint qHash(quint64)'
        c:\sandbox\qt4\qt4\include\qtcore\../../src/corelib/tools/qhash.h(61): or 'uint qHash(qint64)'
        c:\sandbox\qt4\qt4\include\qtcore\../../src/corelib/tools/qhash.h(62): or 'uint qHash(QChar)'
        c:\sandbox\qt4\qt4\include\qtcore\../../src/corelib/tools/qhash.h(63): or 'uint qHash(const QByteArray &)'
        c:\sandbox\qt4\qt4\include\qtcore\../../src/corelib/tools/qhash.h(64): or 'uint qHash(const QString &)'
        c:\sandbox\qt4\qt4\include\qtgui\../../src/gui/itemviews/qitemselectionmodel.h(160): or 'uint qHash(const QItemSelec
tionRange &)'
        while trying to match the argument list '(const KSortableItem<T,Key>)'
        with
        [
            T=QString,
            Key=int
        ]


More information about the Kde-buildsystem mailing list