我可以要正确的qmake,但qt错了吗

Could I have the correct qmake, but the wrong qt?

本文关键字:qt 错了 qmake 我可以      更新时间:2023-10-16

我有一个用cmake编译的Qt5代码,没有任何问题。然后我决定尝试qmake,遇到了一个问题。

看起来qmake在某种程度上使用了Qt4而不是Qt5,尽管我认为它被配置为运行Qt5。该代码包含一些严格意义上的Qt5元素。这是我从终端得到的:

首先,我有Qt4和Qt5:

wave@wave-T61:~$ qtchooser -l
4
5
default
qt4-i386-linux-gnu
qt4-x86_64-linux-gnu
qt4
qt5-x86_64-linux-gnu
qt5

显示qmake版本:

wave@wave-T61:~$ qmake -v
QMake version 3.0
Using Qt version 5.4.2 in /usr/lib/x86_64-linux-gnu

我可以通过设置来回切换:

wave@wave-T61:~$ export QT_SELECT=qt4
wave@wave-T61:~$ qmake -v
QMake version 2.01a
Using Qt version 4.8.6 in /usr/lib/x86_64-linux-gnu
wave@wave-T61:~$ export QT_SELECT=qt5
wave@wave-T61:~$ qmake -v
QMake version 3.0
Using Qt version 5.4.2 in /usr/lib/x86_64-linux-gnu

然而,无论我设置的qmake版本如何,我都会得到Qt4的外观,这与我使用cmake得到的外观完全不同(看起来应该是这样)。

我做错了什么?

谢谢你的长篇大论。

编辑。

嗯,我有两个Qt5库源文件夹。。。cmake被配置为查看我安装Qt5-/opt/Qt/5.5/gcc_64/include/-的地方,这很好。但后来我安装了qmake和QCreator,突然间,又有了另一个,qmake正在寻找它——在/usr/include/x86_64-linux-gnu/qt5/中。

现在,我不明白为什么会这样,为什么第二组Qt5库能像Qt4一样工作。希望我能重定向qmake并使其可用。

编辑2。看来我运气不好,要回cmake了。来自Qt文档:

QT_INSTALL_PRIIX-为其构建qmake的QT版本所在的位置。这些内置属性不能以版本为前缀,因为它们没有版本控制,qmake的每个版本都有自己的内置值集。

要在QtCreator中构建qmake项目时选择特定的Qt版本,您需要按照QtCreater文档中的说明添加所需的Qt版