HamedMasafi/Nut

Not building under mingw

Closed this issue · 1 comments

Windows 10, Qt 5.5.1 mingw 4.9.2
Build output:
In file included from generators\../database.h:30:0, from generators\sqlgeneratorbase.cpp:30: generators\../tableset.h: In member function 'Nut::Row<T> Nut::TableSet<T>::at(int) const': generators\../tableset.h:105:30: error: invalid use of incomplete type 'const class QSharedPointer<Nut::Table>' return data->childs.at(i).template objectCast<T>(); ^ In file included from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qobject.h:48:0, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qiodevice.h:39, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qtextstream.h:37, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore/qdebug.h:42, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore/QDebug:1, from generators\sqlgeneratorbase.cpp:22: C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qmetatype.h:207:7: error: declaration of 'const class QSharedPointer<Nut::Table>' F(QSharedPointer) \ ^ C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qmetatype.h:1317:30: note: in definition of macro 'QT_FORWARD_DECLARE_SHARED_POINTER_TYPES_ITER' template <class T> class Name; \ ^ C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qmetatype.h:1319:1: note: in expansion of macro 'QT_FOR_EACH_AUTOMATIC_TEMPLATE_SMART_POINTER' QT_FOR_EACH_AUTOMATIC_TEMPLATE_SMART_POINTER(QT_FORWARD_DECLARE_SHARED_POINTER_TYPES_ITER) ^ In file included from generators\../database.h:30:0, from generators\sqlgeneratorbase.cpp:30: generators\../tableset.h: In member function 'Nut::Row<T> Nut::TableSet<T>::operator[](int) const': generators\../tableset.h:115:30: error: invalid use of incomplete type 'const class QSharedPointer<Nut::Table>' return data->childs.at(i).template objectCast<T>(); ^ In file included from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qobject.h:48:0, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qiodevice.h:39, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qtextstream.h:37, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore/qdebug.h:42, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore/QDebug:1, from generators\sqlgeneratorbase.cpp:22: C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qmetatype.h:207:7: error: declaration of 'const class QSharedPointer<Nut::Table>' F(QSharedPointer) \ ^ C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qmetatype.h:1317:30: note: in definition of macro 'QT_FORWARD_DECLARE_SHARED_POINTER_TYPES_ITER' template <class T> class Name; \ ^ C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qmetatype.h:1319:1: note: in expansion of macro 'QT_FOR_EACH_AUTOMATIC_TEMPLATE_SMART_POINTER' QT_FOR_EACH_AUTOMATIC_TEMPLATE_SMART_POINTER(QT_FORWARD_DECLARE_SHARED_POINTER_TYPES_ITER) ^ In file included from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qglobal.h:1098:0, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qchar.h:37, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qstring.h:41, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore/qdatetime.h:37, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore/QDate:1, from generators\sqlgeneratorbase.cpp:21: C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qtypeinfo.h: In instantiation of 'class QTypeInfo<QSharedPointer<Nut::Table> >': C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qlist.h:462:31: required from 'void QList<T>::node_destruct(QList<T>::Node*, QList<T>::Node*) [with T = QSharedPointer<Nut::Table>]' C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qlist.h:835:68: required from 'void QList<T>::dealloc(QListData::Data*) [with T = QSharedPointer<Nut::Table>]' C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qlist.h:796:18: required from 'QList<T>::~QList() [with T = QSharedPointer<Nut::Table>]' generators\../tablesetbasedata.h:35:40: required from here C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qtypeinfo.h:58:26: error: invalid application of 'sizeof' to incomplete type 'QSharedPointer<Nut::Table>' isLarge = (sizeof(T)>sizeof(void*)), ^ C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qtypeinfo.h:60:24: error: invalid application of 'sizeof' to incomplete type 'QSharedPointer<Nut::Table>' sizeOf = sizeof(T) ^ In file included from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qhash.h:40:0, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qshareddata.h:39, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore/qdatetime.h:39, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore/QDate:1, from generators\sqlgeneratorbase.cpp:21: C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qlist.h: In instantiation of 'void QList<T>::node_destruct(QList<T>::Node*, QList<T>::Node*) [with T = QSharedPointer<Nut::Table>]': C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qlist.h:835:68: required from 'void QList<T>::dealloc(QListData::Data*) [with T = QSharedPointer<Nut::Table>]' C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qlist.h:796:18: required from 'QList<T>::~QList() [with T = QSharedPointer<Nut::Table>]' generators\../tablesetbasedata.h:35:40: required from here C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qlist.h:463:31: warning: possible problem detected in invocation of delete operator: [-Wdelete-incomplete] while(from != to) --to, delete reinterpret_cast<T*>(to->v); ^ C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qlist.h:463:31: warning: invalid use of incomplete type 'class QSharedPointer<Nut::Table>' In file included from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qobject.h:48:0, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qiodevice.h:39, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qtextstream.h:37, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore/qdebug.h:42, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore/QDebug:1, from generators\sqlgeneratorbase.cpp:22: C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qmetatype.h:207:7: warning: declaration of 'class QSharedPointer<Nut::Table>' F(QSharedPointer) \ ^ C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qmetatype.h:1317:30: note: in definition of macro 'QT_FORWARD_DECLARE_SHARED_POINTER_TYPES_ITER' template <class T> class Name; \ ^ C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qmetatype.h:1319:1: note: in expansion of macro 'QT_FOR_EACH_AUTOMATIC_TEMPLATE_SMART_POINTER' QT_FOR_EACH_AUTOMATIC_TEMPLATE_SMART_POINTER(QT_FORWARD_DECLARE_SHARED_POINTER_TYPES_ITER) ^ In file included from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qhash.h:40:0, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qshareddata.h:39, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore/qdatetime.h:39, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore/QDate:1, from generators\sqlgeneratorbase.cpp:21: C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qlist.h:463:31: note: neither the destructor nor the class-specific operator delete will be called, even if they are declared when the class is defined while(from != to) --to, delete reinterpret_cast<T*>(to->v); ^ C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qlist.h:465:32: error: invalid use of incomplete type 'class QSharedPointer<Nut::Table>' while (from != to) --to, reinterpret_cast<T*>(to)->~T(); ^ In file included from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qobject.h:48:0, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qiodevice.h:39, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qtextstream.h:37, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore/qdebug.h:42, from C:\Qt\Qt5.5.1\5.5\mingw492_32\include\QtCore/QDebug:1, from generators\sqlgeneratorbase.cpp:22: C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qmetatype.h:207:7: error: declaration of 'class QSharedPointer<Nut::Table>' F(QSharedPointer) \ ^ C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qmetatype.h:1317:30: note: in definition of macro 'QT_FORWARD_DECLARE_SHARED_POINTER_TYPES_ITER' template <class T> class Name; \ ^ C:\Qt\Qt5.5.1\5.5\mingw492_32\include/QtCore/qmetatype.h:1319:1: note: in expansion of macro 'QT_FOR_EACH_AUTOMATIC_TEMPLATE_SMART_POINTER' QT_FOR_EACH_AUTOMATIC_TEMPLATE_SMART_POINTER(QT_FORWARD_DECLARE_SHARED_POINTER_TYPES_ITER)

Due appveyor report Nut can build with these Qts

  • C:\Qt\5.13.0\mingw73_64
  • C:\Qt\5.13.0\mingw73_32
  • C:\Qt\5.11.3\mingw53_32

https://ci.appveyor.com/project/HamedMasafi/nut

But I'll also check Qt 5.5.1 mingw 4.9.2