【发布时间】:2015-12-17 22:27:20
【问题描述】:
我在 windows 中使用 QT5 创建了一个简单的 QT 应用程序。现在我想在 Linux 中编译相同的应用程序。一个问题是Linux QT是一个旧版本,但我认为它应该编译,因为它非常简单,没有使用QT5的特殊功能。
Linux环境下,版本如下:
-- by typing qmake -v
Qmake : 1.07a (QT 3.3.8)
该项目只是一个空白的 QApplication ,我在 windows 中创建。
在 .pro 文件中,它使用的是 QT += 小部件
在 Linux 中,我所做的只是复制整个项目,然后使用 qmake 生成 Makefile。编译器抛出错误:
QApplication : no such file or directory
QApplication was not declared in this scope
问题显然是版本不兼容,但事实证明这个菜鸟很难解决。
顺便说一句,QtCore 在 /usr/include/QtCore
【问题讨论】:
-
你在
/usr/include中也有QApplication吗? -
你用的是什么 Linux 机器?对于 Qt 3 默认情况下它必须来自新石器时代或类似的东西......另外,请记住 Qt 在主要版本更改时会破坏兼容性;即使使用 Qt 4 也无法构建 Qt 5 程序;最重要的是,虽然 Qt 4 和 Qt 5 之间需要进行的调整相对较小,但 Qt 3 和 Qt 4 之间的中断要严重得多。
-
QtCore 建议安装 Qt4 或 Qt5。所以也许检查你是否可以卸载 qt3-dev (或任何包含 qmake 的软件包)并安装 qt5 等效项。
-
也可以在Linux上安装最新的官方Qt SDK。
-
谢谢先生们,但不幸的是我无法安装任何东西,因为有很大一部分代码依赖于遗留代码,因此......我有义务使用可用的 qt。