Fails to build against Qt 5.14.0, 5.13.2 was OK
I'm failing to build MuseScore 3.3.4
on a Linux OS, with version gcc 9.2.0
and latest Qt 5.14.0
.
The same release with the same toolchain compiled successfully against Qt 5.13.2
.
Here is the generated error:
[...] In file included from $PREFIX/include/qt5/QtCore/qobject.h:54, from $PREFIX/include/qt5/QtCore/qabstractanimation.h:43, from $PREFIX/include/qt5/QtCore/QtCore:6, from $PREFIX/include/qt5/QtGui/QtGuiDepends:3, from $PREFIX/include/qt5/QtGui/QtGui:3, from all.h:62: $PREFIX/include/qt5/QtCore/qmetatype.h: In instantiation of ‘static void QtMetaTypePrivate::QMetaTypeFunctionHelper<T, Accepted>::Save(QDataStream&, const void*) [with T = Ms::SessionStart; bool Accepted = true]’: $PREFIX/include/qt5/QtCore/qmetatype.h:1802:39: required from ‘void qRegisterMetaTypeStreamOperators(const char*, T*) [with T = Ms::SessionStart]’ $SRC_DIR/mscore/musescore.cpp:7279:68: required from here $PREFIX/include/qt5/QtCore/qmetatype.h:818:16: error: ambiguous overload for ‘operator<<’ (operand types are ‘QDataStream’ and ‘const Ms::SessionStart’) 818 | stream << *static_cast<const T*>(t); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from $PREFIX/include/qt5/QtCore/QtCore:60, from $PREFIX/include/qt5/QtGui/QtGuiDepends:3, from $PREFIX/include/qt5/QtGui/QtGui:3, from all.h:62: $PREFIX/include/qt5/QtCore/qdatastream.h:389:1: note: candidate: ‘typename std::enable_if<std::is_enum<_Tp>::value, QDataStream&>::type& operator<<(QDataStream&, const T&) [with T = Ms::SessionStart; typename std::enable_if<std::is_enum<_Tp>::value, QDataStream&>::type = QDataStream&]’ 389 | operator<<(QDataStream &s, const T &t) | ^~~~~~~~ In file included from $SRC_DIR/mscore/musescore.cpp:23: $SRC_DIR/mscore/preferences.h:378:21: note: candidate: ‘QDataStream& Ms::operator<<(QDataStream&, const T&) [with T = Ms::SessionStart; typename std::enable_if<std::is_enum<_Tp>::value>::type* <anonymous> = 0]’ 378 | inline QDataStream &operator<<(QDataStream &out, const T &val) | ^~~~~~~~ In file included from $PREFIX/include/qt5/QtCore/qobject.h:54, from $PREFIX/include/qt5/QtCore/qabstractanimation.h:43, from $PREFIX/include/qt5/QtCore/QtCore:6, from $PREFIX/include/qt5/QtGui/QtGuiDepends:3, from $PREFIX/include/qt5/QtGui/QtGui:3, from all.h:62: $PREFIX/include/qt5/QtCore/qmetatype.h: In instantiation of ‘static void QtMetaTypePrivate::QMetaTypeFunctionHelper<T, Accepted>::Load(QDataStream&, void*) [with T = Ms::SessionStart; bool Accepted = true]’: $PREFIX/include/qt5/QtCore/qmetatype.h:1802:39: required from ‘void qRegisterMetaTypeStreamOperators(const char*, T*) [with T = Ms::SessionStart]’ $SRC_DIR/mscore/musescore.cpp:7279:68: required from here [...]
Thanks
Comments
As far as I know no claim has been made that this should be supported, I believe we support 5.9 and 5.13 only right now. I gather 5.14 is not slated for 5.14 so I doubt we'll ever bother to support that, but presumably we will eventually support 5.15.
In reply to As far as I know no claim… by Marc Sabatella
5.9 and 5.12, the LTS versions of Qt.
5.15 will be the next LTS version, as far as I know. And the last Qt 5.
In reply to 5.9 and 5.12, the LTS… by Jojo-Schmitz
Thanks for the heads-up on the LTS version !
See https://github.com/musescore/MuseScore/pull/5583
In reply to See https://github.com… by Jojo-Schmitz
Confirmed, this PR fixes the aforementioned issue.
Is there a bug ticket opened to track this issue?
In reply to Is there a bug ticket opened… by deppli
No, at least not yet
Fixed in 8b9a81e