Results 1 to 20 of 22

Thread: qHash(double) problem with Qt 4.6 (tp1)

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Oct 2009
    Posts
    6
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default qHash(double) problem with Qt 4.6 (tp1)

    Hi,

    I am trying to build QWT 5.2 against Qt 4.6 (tp1) with mingw. The compiler complains about ambiguous overloaded qHash, first instatiated in qwt_valuelist.h:48. Event after I change the #ifdef in ine 39 to include a check for QT_VERSION >= 0x040600, the error remains.

    Has anybody experienced the same or knows of a solution?

    Thanks,
    Sascha

  2. #2
    Join Date
    Oct 2009
    Posts
    6
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: qHash(double) problem with Qt 4.6 (tp1)

    I investigated the problem further and it seems to be specific to the combination of MinGW, Qt 4.6 and qwt.

    Trying to compile qwt with a native gcc against Qt 4.6 works, as well as compiling qwt with MinGW against Qt 4.5.x.

    Any input is highly appreciated.

  3. #3
    Join Date
    Feb 2006
    Location
    Munich, Germany
    Posts
    3,195
    Thanked 847 Times in 796 Posts
    Qt products
    Qt3 Qt4 Qt/Embedded
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: qHash(double) problem with Qt 4.6 (tp1)

    Please check Qt 4.6 Beta first. If the problem is still there please try to write a small demo using a QList<double>, that shows the problem without Qwt.

    Uwe

  4. #4
    Join Date
    Oct 2009
    Posts
    6
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: qHash(double) problem with Qt 4.6 (tp1)

    Ah, I see that the beta is out since yesterday! I will try it out and post the results.

    Thanks,
    Sascha

  5. #5
    Join Date
    Oct 2009
    Posts
    6
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: qHash(double) problem with Qt 4.6 (tp1)

    Hi, I compiled the beta now with MinGW (gcc 4.4) and using a QList<double> inside a Qt project without qwt is no problem.

    Somehow the compiler gets confused at qwt_valuelist.h:48, where a QList<double> is explicitly instantiated for exporting it in the qwt.dll . Uncommenting this line, results in a successful build of qwt with gcc 4.4 and Qt 4.6 beta1.

    Any ideas whats happening there?

    Sascha

  6. #6
    Join Date
    Feb 2006
    Location
    Munich, Germany
    Posts
    3,195
    Thanked 847 Times in 796 Posts
    Qt products
    Qt3 Qt4 Qt/Embedded
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: qHash(double) problem with Qt 4.6 (tp1)

    Can you compile Qwt 5.2 with Qt 4.5.x and MinGW (gcc 4.4) or is it a problem of the compiler version ?

    Uwe

  7. #7
    Join Date
    Oct 2009
    Posts
    6
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: qHash(double) problem with Qt 4.6 (tp1)

    I did that on Linux, cross-compiling with MinGW (gcc 4.4) for Windows and it worked, but I will try it on Windows natively in the next days.

    Sascha

  8. #8
    Join Date
    Oct 2009
    Location
    Vilnius, Lithuania
    Posts
    4
    Qt products
    Qt4

    Default Re: qHash(double) problem with Qt 4.6 (tp1)

    Had anybody managed with this? I've looked at qhash.h, and it's rewritten since qt 4.5, and I didn't managed to modify qwt so that it compiles for me
    Last edited by Kazakus; 23rd November 2009 at 07:12.

  9. #9
    Join Date
    Nov 2009
    Posts
    11
    Qt products
    Qt4
    Platforms
    Windows

    Default Re: qHash(double) problem with Qt 4.6 (tp1)

    Follow to qwt_valuelist.h and change this:

    Qt Code:
    1. #if QT_VERSION < 0x040300
    2. // Some compilers have problems,
    3. // without a qHash(double) implementation
    4. #include <qset.h>
    5. #include <qvector.h>
    6. inline uint qHash(double key) { return uint(key); }
    7. #endif
    To copy to clipboard, switch view to plain text mode 

    to:

    Qt Code:
    1. #if QT_VERSION == 0x040600
    2. // Some compilers have problems,
    3. // without a qHash(double) implementation
    4. #include <qset.h>
    5. #include <qvector.h>
    6. inline uint qHash(double key) { return uint(key); }
    7. #endif
    To copy to clipboard, switch view to plain text mode 

  10. #10
    Join Date
    Oct 2009
    Posts
    6
    Qt products
    Qt4
    Platforms
    Unix/X11 Windows

    Default Re: qHash(double) problem with Qt 4.6 (tp1)

    Hi,

    the hint posted by Indalo does not work for me.

    I am using Qt 4.6 RC now and qwt still doesn't compile without modification. However, changing qwt_valuelist.h:37 from

    Qt Code:
    1. #if defined(QWT_TEMPLATEDLL)
    To copy to clipboard, switch view to plain text mode 

    to

    Qt Code:
    1. #if defined(QWT_TEMPLATEDLL) && QT_VERSION < 0x040600
    To copy to clipboard, switch view to plain text mode 

    works for me.

  11. #11

    Default Re: qHash(double) problem with Qt 4.6 (tp1)

    Hi ,

    i tried all the tricks mentioned above, none worked !
    Any solution ?

    Regards,

Similar Threads

  1. Problem with QAbstractListModel
    By eekhoorn12 in forum Qt Programming
    Replies: 3
    Last Post: 26th August 2009, 14:26
  2. Replies: 1
    Last Post: 23rd April 2009, 09:05
  3. Replies: 19
    Last Post: 3rd April 2009, 23:17
  4. Grid Layout Problem
    By Seema Rao in forum Qt Programming
    Replies: 2
    Last Post: 4th May 2006, 12:45
  5. fftw problem
    By lordy in forum General Programming
    Replies: 1
    Last Post: 16th March 2006, 21:36

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.