Я только что обновил Qt с 5.3.2 до 5.5.0. Проект (который использует QAbstractTableModel), который компилируется нормально в 5.3.2 не компилируется в 5.5.0, сообщая следующее сообщение об ошибке (несколько раз):Qt 5.5 (Q_ENUM вызывает ошибку компиляции)
/usr/local/Qt-5.5.0/include/QtCore/qabstractitemmodel.h:241: error: ISO C++ forbids declaration of 'Q_ENUM' with no type [-fpermissive]
Q_ENUM(LayoutChangeHint)
^
Ошибки полностью в файлах Qt, а не моя. Я использую gcc491. Ниже приведено несколько интересных бит из моего файла проекта. Есть идеи?
TEMPLATE = app
TARGET = MyApp
QT += core widgets gui
QMAKE_CXXFLAGS += -g -std=c++11
У вас есть возможный конфликт перечисления и класс LayoutChangeHint, посмотрите здесь http://stackoverflow.com/questions/9452329/error-iso-c-forbids-declaration-of-object-with-no-type – demonplus
Вещь это, поправьте меня, если я ошибаюсь, это конфликт Qt, а не мой. У меня нет подкласса LayoutChangeHint. –
Не уверен. Я могу найти только перечисление LayoutChangeHint {NoLayoutChangeHint, VerticalSortHint, HorizontalSortHint} в Qt. Вы видите что-то еще, связанное с конфликтом? – demonplus