【问题标题】:Could I have the correct qmake, but the wrong qt?我可以有正确的 qmake,但错误的 qt?
【发布时间】:2015-11-06 22:06:25
【问题描述】:

我有一个用 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_PREFIX - 构建此 qmake 的 Qt 版本所在的位置。 这些内置属性不能有版本前缀,因为它们没有版本化,每个版本的 qmake 都有自己的内置这些值集。

【问题讨论】:

  • 重置 QT_SELECT 变量时是否创建另一个构建树?像这样:cd build && rm -r * && qmake .. && make 你也可以尝试运行make VERBOSE=1 来查看到底是什么链接。
  • 是的,我什么都是从零开始的。当使用 qmake V.3 (Qt5) 编译时,Makefile 根本没有提到 qt4,只有 qt5。我想我应该比较一下 qmake 和 cmake 的 makefile,看看有什么不同。
  • 您的/opt/Qt/5.5/gcc_64/ 前缀中有qmake 可执行文件吗?您可以尝试配置 QtCreator 以使用此版本,如本指南中的doc.qt.io/qtcreator/creator-project-qmake.html
  • @wavelike 你不必为此感到难过。如果 Vitalii Minnakhmetov 发布答案,您可以在任何声望级别接受它。否则,您可以回答自己的问题(如果您认为它对其他人有用),或者我们可能会将其删除为不可复制。请不要将答案编辑到问题本身或在标题中添加[SOLVED]
  • "我有什么理由应该回答我自己的问题,因为我已将所有解释都放在我编辑过的帖子中?" 是的,有。表明本网站上的问题已得到解答的方法是接受答案。它导致它在索引页面中被标记为已回答。我鼓励@VitaliiMinnakhmetov 发布答案,然后您可以接受。如果他没有,请随时自己发布答案并接受。

标签: c++ qt qmake


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    相关资源
    最近更新 更多