从 Qt 4.x (Ubuntu Linux) 迁移到 Qt 5.1 (Windows 7)

Posted

技术标签:

【中文标题】从 Qt 4.x (Ubuntu Linux) 迁移到 Qt 5.1 (Windows 7)【英文标题】:Moving from Qt 4.x (Ubuntu Linux) to Qt 5.1 (Windows 7) 【发布时间】:2013-07-13 07:06:14 【问题描述】:

去年我在 Ubuntu Linux 平台上使用 Qt 4.x 中的 Qt Creator 制作了一个程序。现在我不使用 linux,而是使用 Windows 7。我再次需要我去年制作的程序。我在 Windows 7 平台上下载并安装了 Qt Creator。它与 Qt 5.1 一起提供。我尝试重建它。我收到以下消息。我该怎么办?

C1083:无法打开包含文件:“QtGui/QApplication”:没有这样的文件或目录 C1083:无法打开包含文件:'QDialog':没有这样的文件或目录

谢谢

【问题讨论】:

<QtGui/QApplication> 现在只是 <QApplication> 【参考方案1】:

在 Qt5 中 QApplication 不再是 QtGui 模块的一部分,它现在在 QtWidgets 中。在您的#include 指令中使用<QtWidgets/QApplication>,同样适用于QDialog

【讨论】:

【参考方案2】:

在您的 .pro 文件中使用它。

QT += ...
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

Qt 模块在 Qt5 中一直是 rearranged。这也将教你离开 Linux!

【讨论】:

我添加了这样的QT += core gui greaterThan(QT_MAJOR_VERSION, 4): QT += widgets TARGET = MVMO_01 它仍然给出相同的错误。可能与“INCLUDEPATH”或“DEPENDPATH”有关? Qt 自己的东西不需要INCLUDEPATH,因为 Qt 应该知道它们已经在哪里。在 Qt Creator 中,您可以查看可用的 Qt 版本并查看它认为标题在哪里(在 QT_INSTALL_HEADERS 下)。 QT_INSTALL_HEADERS 标签在哪里? 转到 Tools->Options,然后 Build & Run->Qt Versions 选项卡。单击您的 Qt 版本并展开它的详细信息。 您应该在修改 .pro 文件后运行 qmake,然后才尝试构建您的应用程序。【参考方案3】:

关于从 QT 4.x 到 5.x 的变化有一个很好的指南http://qt-project.org/wiki/Transition_from_Qt_4.x_to_Qt5

【讨论】:

以上是关于从 Qt 4.x (Ubuntu Linux) 迁移到 Qt 5.1 (Windows 7)的主要内容,如果未能解决你的问题,请参考以下文章

linux ubuntu QT 下载和安装(Qt Creator)

Linux 上的 Qt 5.8 (ubuntu 16.04) 应用程序部署

QT Linux/Ubuntu 平台安装qt5.7.1 2016.12.25

linux ubuntu qt中的桌面图标[重复]

Ubuntu中Qt的安装

Ubuntu 16.04 编译VTK7.1