我可以使用正确的qmake,但错误的qt?

时间:2015-11-06 22:06:25

标签: c++ qt qmake

我有一个用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完全不同(看起来应该如此)。

我在做什么,或者假设,错了?

感谢并为一篇冗长的帖子感到抱歉。

EDIT。

好吧,我有两个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_PREFIX - 这个qmake的Qt版本是为驻留而构建的。 这些内置属性不能为它们添加前缀,因为它们没有版本化,并且每个版本的qmake都有自己的这些值的内置集。

1 个答案:

答案 0 :(得分:0)

要在QtCreator中构建qmake项目时选择特定的Qt版本,您需要按QtCreator documentation

中所述添加所需的Qt版本