Quantcast
Channel: Qt DevNet forums: Installation and Deployment
Viewing all articles
Browse latest Browse all 2113

Error while compiling Qt 5.0.2: incorrect "constexpr"-ness of qMax() overload on timeval arguments

$
0
0
Hi all, While compiling Qt from the 5.0.2 tarball, I get the following error: kernel/qtimerinfo_unix.cpp:98:30: error: redeclaration ‘constexpr T qAbs(const T&) [with T = timeval]’ differs in ‘constexpr’ timeval qAbs(const timeval &t) ^ In file included from ../../include/QtCore/qglobal.h:1:0, from global/qt_pch.h:58: ../../include/QtCore/../../src/corelib/global/qglobal.h:483:27: error: from previous declaration ‘constexpr T qAbs(const T&) [with T = timeval]’ Q_DECL_CONSTEXPR inline T qAbs(const T &t) { return t >= 0 ? t : -t; } ^ kernel/qtimerinfo_unix.cpp: In function ‘constexpr T qAbs(const T&) [with T = timeval]’: kernel/qtimerinfo_unix.cpp:109:1: error: body of constexpr function ‘constexpr T qAbs(const T&) [with T = timeval]’ not a return-statement (…………. plus a lot more ……………) Investigating the issue does indeed show a template specialization on qMax<timeval> that does not have the “constexpr” attribute, while the generic qMax<T> does. I am using g++ 4.8.2 on Debian/testing. Is there any easy way I can fix this? I already tried to remove the constexpr declaration on qMax<T> but the problem cascades to functions that use that. Any help is appreciated. Sidney

Viewing all articles
Browse latest Browse all 2113

Trending Articles