3

我刚刚将 Qt 从 5.3.2 升级到 5.5.0。在 5.3.2 中编译得很好的项目(使用 QAbstractTableModel)在 5.5.0 中无法编译,报告以下错误(多次):

/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
4

2 回答 2

1

骨头移动。在 QtCreator 中,我指向 qmake 的 5.5.0 版本,但在 .project 文件中,5.3.2 仍在 INCLUDEPATH 中。

于 2015-08-25T16:22:46.273 回答
0

在我的 Mac 上升级到 Qt5.5 后,我遇到了同样的问题。事实证明,我曾经通过自制软件安装了 QT。我尝试进行“brew update”,但即使它更新了 QT5,问题仍然存在……经过搜索,我发现可能存在未解决的问题。

为了解决这个问题,我通过 Homebrew ( brew uninstall qt ) 卸载了 QT,并使用QT 安装目录中的“ MaintenanceTool ”应用程序卸载了 QT。然后我再次使用在线安装工具重新安装了 Qt5.5。这个序列终于完成了这项工作。

似乎有必要确保旧的 QT 库/链接已消失,以便 Qt5.5 安装程序可以设置这些库/链接,以便正确找到它们。Homebrew 留下的那些旧符号链接不知何故没有被 Qt5.5 安装程序更新或替换。我在多次失败后发现了这一点。希望这可以节省其他人我开发的头痛。

于 2015-12-15T00:55:05.483 回答