Quantcast
Channel: Jobs
Viewing all articles
Browse latest Browse all 18427

Compiler errors after transition from Qt4.x project to Qt5.x on OSX

$
0
0
I’ve tried to change a project that just runs/compiles fine with Qt4.8.x (gcc and clang) to Qt5.0.x (tried clang 5.0.1 and clang 5.0.2). Checked for changes to .PRO file from http://qt-project.org/wiki/Transition_from_Qt_4.x_to_Qt5 and used the fixqt4headers.pl script, which didn’t find any includes that needed a change. On compiling I receveive an error from one of the qmake generated moc files: clang++ -c -pipe -mmacosx-version-min=10.6 -g -gdwarf-2 -Wall -W -fPIE -DHC_PROGRAMVERSION=\"0.1.0\" -DHC_GITHASH=\"9f49f3a1ed09e462b1051e790e3898fa57467550\" -DQT_QML_DEBUG -DQT_DECLARATIVE_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../Qt5.0.2/5.0.2/clang_64/mkspecs/macx-clang -I../../../Dropbox/__private__/Qt/SolMan -I../../../devtools/taglib-bin/include/taglib -I../../../devtools/boost_1_53_0 -I../../../Qt5.0.2/5.0.2/clang_64/include -I../../../Qt5.0.2/5.0.2/clang_64/include/QtWidgets -I../../../Qt5.0.2/5.0.2/clang_64/lib/QtWidgets.framework/Versions/5/Headers -I../../../Qt5.0.2/5.0.2/clang_64/include/QtGui -I../../../Qt5.0.2/5.0.2/clang_64/lib/QtGui.framework/Versions/5/Headers -I../../../Qt5.0.2/5.0.2/clang_64/include/QtCore -I../../../Qt5.0.2/5.0.2/clang_64/lib/QtCore.framework/Versions/5/Headers -I. -I/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/System/Library/Frameworks/AGL.framework/Headers -I. -I. -o moc_itunesconnector.o moc_itunesconnector.cpp In file included from moc_itunesconnector.cpp:9: In file included from ./../../../Dropbox/__private__/Qt/SolMan/itunesconnector.h:4: In file included from ../../../Qt5.0.2/5.0.2/clang_64/include/QtCore/QObject:1: In file included from ../../../Qt5.0.2/5.0.2/clang_64/include/QtCore/qobject.h:55: ../../../Qt5.0.2/5.0.2/clang_64/include/QtCore/qmetatype.h:642:5: error: implicit instantiation of undefined template 'QStaticAssertFailure<false>'    Q_STATIC_ASSERT_X(QMetaTypeId2<T>::Defined, "Type is not registered, please use the Q_DECLARE_METATYPE macro to make it known to Qt's meta-object system");    ^ ../../../Qt5.0.2/5.0.2/clang_64/include/QtCore/qglobal.h:642:47: note: expanded from macro 'Q_STATIC_ASSERT_X' #define Q_STATIC_ASSERT_X(Condition, Message) Q_STATIC_ASSERT(Condition)                                              ^ ../../../Qt5.0.2/5.0.2/clang_64/include/QtCore/qglobal.h:641:76: note: expanded from macro 'Q_STATIC_ASSERT'    enum {Q_STATIC_ASSERT_PRIVATE_JOIN(q_static_assert_result, __LINE__) = sizeof(QStaticAssertFailure<!!(Condition)>)}                                                                           ^ ../../../Qt5.0.2/5.0.2/clang_64/include/QtCore/qmetatype.h:656:12: note: in instantiation of function template specialization 'qMetaTypeId<QList<QUrl> *>' requested here    return qMetaTypeId(dummy);           ^ moc_itunesconnector.cpp:137:50: note: in instantiation of function template specialization 'qRegisterMetaType<QList<QUrl> *>' requested here                *reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QList<QUrl>* >(); break;                                                 ^ ../../../Qt5.0.2/5.0.2/clang_64/include/QtCore/qglobal.h:635:28: note: template is declared here template <bool Test> class QStaticAssertFailure;                           ^ In file included from moc_itunesconnector.cpp:9: In file included from ./../../../Dropbox/__private__/Qt/SolMan/itunesconnector.h:4: In file included from ../../../Qt5.0.2/5.0.2/clang_64/include/QtCore/QObject:1: In file included from ../../../Qt5.0.2/5.0.2/clang_64/include/QtCore/qobject.h:55: ../../../Qt5.0.2/5.0.2/clang_64/include/QtCore/qmetatype.h:534:82: error: no member named 'qt_metatype_id' in 'QMetaTypeId<QList<QUrl> *>'    static inline Q_DECL_CONSTEXPR int qt_metatype_id() { return QMetaTypeId<T>::qt_metatype_id(); }                                                                 ~~~~~~~~~~~~~~~~^ ../../../Qt5.0.2/5.0.2/clang_64/include/QtCore/qmetatype.h:643:29: note: in instantiation of member function 'QMetaTypeId2<QList<QUrl> *>::qt_metatype_id' requested here    return QMetaTypeId2<T>::qt_metatype_id();                            ^ ../../../Qt5.0.2/5.0.2/clang_64/include/QtCore/qmetatype.h:656:12: note: in instantiation of function template specialization 'qMetaTypeId<QList<QUrl> *>' requested here    return qMetaTypeId(dummy);           ^ moc_itunesconnector.cpp:137:50: note: in instantiation of function template specialization 'qRegisterMetaType<QList<QUrl> *>' requested here                *reinterpret_cast<int*>(_a[0]) = qRegisterMetaType< QList<QUrl>* >(); break;                                                 ^ 2 errors generated. make: *** [moc_itunesconnector.o] Error 1 21:40:53: The process "/usr/bin/make" exited with code 2. Error while building/deploying project SolMan (kit: Qt 5.0.2 Desktop clang 64bit) When executing step 'Make' The build directory was completely empty before compiling, no left traces from 4.8.x compiles. What else do I need to change for a successful compile? And yes, QList and QUrl are included.

Viewing all articles
Browse latest Browse all 18427

Trending Articles