From 61a159034cf6934bb1d0223dcedbcf9596c5ac76 Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Tue, 25 Aug 2020 23:32:24 +0200 Subject: [PATCH 1/2] Fix build under Qt 5.14 and later. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Solves "redefinition of ‘struct std::hash’", "redefinition of ‘struct std::hash'", and a build failure in TouchscreenVirtualPadDevice.h. --- .../src/input-plugins/TouchscreenVirtualPadDevice.h | 5 +++++ .../src/material-networking/TextureCache.cpp | 2 ++ libraries/shared/src/RegisteredMetaTypes.h | 2 ++ 3 files changed, 9 insertions(+) diff --git a/libraries/input-plugins/src/input-plugins/TouchscreenVirtualPadDevice.h b/libraries/input-plugins/src/input-plugins/TouchscreenVirtualPadDevice.h index 4ef1dbd4f6..8c276fb66b 100644 --- a/libraries/input-plugins/src/input-plugins/TouchscreenVirtualPadDevice.h +++ b/libraries/input-plugins/src/input-plugins/TouchscreenVirtualPadDevice.h @@ -15,7 +15,12 @@ #include #include "InputPlugin.h" #include +#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0)) #include +#else +#include +#include +#endif #include "VirtualPadManager.h" class QTouchEvent; diff --git a/libraries/material-networking/src/material-networking/TextureCache.cpp b/libraries/material-networking/src/material-networking/TextureCache.cpp index 4831223fe9..64c3abb0d8 100644 --- a/libraries/material-networking/src/material-networking/TextureCache.cpp +++ b/libraries/material-networking/src/material-networking/TextureCache.cpp @@ -223,12 +223,14 @@ public: }; namespace std { +#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0)) template <> struct hash { size_t operator()(const QByteArray& byteArray) const { return qHash(byteArray); } }; +#endif template <> struct hash { diff --git a/libraries/shared/src/RegisteredMetaTypes.h b/libraries/shared/src/RegisteredMetaTypes.h index 86e06d7f93..49a73d40c2 100644 --- a/libraries/shared/src/RegisteredMetaTypes.h +++ b/libraries/shared/src/RegisteredMetaTypes.h @@ -597,12 +597,14 @@ namespace std { } }; +#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0)) template <> struct hash { size_t operator()(const QString& a) const { return qHash(a); } }; +#endif } /**jsdoc From 5327ffeec48e4248fd996b846c80e02b16a0060d Mon Sep 17 00:00:00 2001 From: Dale Glass Date: Wed, 26 Aug 2020 00:01:29 +0200 Subject: [PATCH 2/2] Fix build under Qt 5.14 and later. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Solves "redefinition of ‘struct std::hash’", "redefinition of ‘struct std::hash'", and a build failure in TouchscreenVirtualPadDevice.h. --- assignment-client/src/audio/AudioMixerClientData.h | 3 +++ assignment-client/src/audio/AudioMixerSlave.h | 3 +++ libraries/shared/src/TBBHelpers.h | 3 +++ 3 files changed, 9 insertions(+) diff --git a/assignment-client/src/audio/AudioMixerClientData.h b/assignment-client/src/audio/AudioMixerClientData.h index 4f5e8e6d68..16c849c216 100644 --- a/assignment-client/src/audio/AudioMixerClientData.h +++ b/assignment-client/src/audio/AudioMixerClientData.h @@ -14,7 +14,10 @@ #include +#if !defined(Q_MOC_RUN) +// Work around https://bugreports.qt.io/browse/QTBUG-80990 #include +#endif #include diff --git a/assignment-client/src/audio/AudioMixerSlave.h b/assignment-client/src/audio/AudioMixerSlave.h index 9765ea8639..03668c8146 100644 --- a/assignment-client/src/audio/AudioMixerSlave.h +++ b/assignment-client/src/audio/AudioMixerSlave.h @@ -12,7 +12,10 @@ #ifndef hifi_AudioMixerSlave_h #define hifi_AudioMixerSlave_h +#if !defined(Q_MOC_RUN) +// Work around https://bugreports.qt.io/browse/QTBUG-80990 #include +#endif #include #include diff --git a/libraries/shared/src/TBBHelpers.h b/libraries/shared/src/TBBHelpers.h index 0c4deace6a..7a53ceaa80 100644 --- a/libraries/shared/src/TBBHelpers.h +++ b/libraries/shared/src/TBBHelpers.h @@ -15,12 +15,15 @@ #pragma warning( disable : 4334 ) #endif +#if !defined(Q_MOC_RUN) +// Work around https://bugreports.qt.io/browse/QTBUG-80990 #include #include #include #include #include #include +#endif #ifdef _WIN32 #pragma warning( pop )