vs2019配置完qt出现问题解决

问题

constexpr 函数 “qCountLeadingZeroBits” 不会生成常数表达式 (编译源文件 main.cpp) QtGuiApplication1
报错在 qalgorithms.h 文件中

解决办法

 #define QT_POPCOUNT_CONSTEXPR
+#define QT_POPCOUNT_RELAXED_CONSTEXPR
 #define QT_HAS_BUILTIN_CTZ
 Q_ALWAYS_INLINE unsigned long qt_builtin_ctz(quint32 val)
 {
@@ -676,6 +677,7 @@
 
 #ifndef QT_POPCOUNT_CONSTEXPR
 #define QT_POPCOUNT_CONSTEXPR Q_DECL_CONSTEXPR
+#define QT_POPCOUNT_RELAXED_CONSTEXPR Q_DECL_RELAXED_CONSTEXPR
 #endif
 
 } //namespace QAlgorithmsPrivate
@@ -819,7 +821,7 @@
 #endif
 }
 
-Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint8 v) Q_DECL_NOTHROW
+QT_POPCOUNT_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint8 v) Q_DECL_NOTHROW
 {
 #if defined(QT_HAS_BUILTIN_CLZ)
     return v ? QAlgorithmsPrivate::qt_builtin_clz(v)-24U : 8U;
@@ -831,7 +833,7 @@
 #endif
 }
 
-Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint16 v) Q_DECL_NOTHROW
+QT_POPCOUNT_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint16 v) Q_DECL_NOTHROW
 {
 #if defined(QT_HAS_BUILTIN_CLZS)
     return v ? QAlgorithmsPrivate::qt_builtin_clzs(v) : 16U;
@@ -844,7 +846,7 @@
 #endif
 }
 
-Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint64 v) Q_DECL_NOTHROW
+QT_POPCOUNT_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(quint64 v) Q_DECL_NOTHROW
 {
 #if defined(QT_HAS_BUILTIN_CLZLL)
     return v ? QAlgorithmsPrivate::qt_builtin_clzll(v) : 64U;
@@ -859,7 +861,7 @@
 #endif
 }
 
-Q_DECL_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(unsigned long v) Q_DECL_NOTHROW
+QT_POPCOUNT_RELAXED_CONSTEXPR inline uint qCountLeadingZeroBits(unsigned long v) Q_DECL_NOTHROW
 {
     return qCountLeadingZeroBits(QIntegerForSizeof<long>::Unsigned(v));
 }
+ 就是 添加
- 就是删除

猜你喜欢

转载自blog.csdn.net/qq_34940879/article/details/103764496