从 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) 应用程序部署