qmake:找不到Qt安装”


136

我在ubuntu中有一个软件,要求我运行qmake生成Makefile。

但是,运行qmake会返回此错误,

qmake: could not find a Qt installation of ''

我已经安装了我认为是必需的软件包,

sudo apt-get install qt4-qmake
sudo apt-get install qt5-qmake

但是错误并没有消失。

任何帮助将不胜感激!


6
尝试跑步sudo apt-get install qtcreator。它安装了完整的Qt SDK +一个IDE。它应该添加您需要的所有内容。
sashoalm

@sashoalm,您好,非常感谢,似乎我还缺少其他软件包。现在它正在工作:D
好奇的

6
这不是一个好的解决方案,因为它将安装许多可能不需要的软件包。
斯康

Answers:


177

sudo apt-get install qt5-default 为我工作。

$ aptitude show qt5-default
告诉

该软件包将Qt 5设置为使用qmake等开发二进制文件时要使用的默认Qt版本。它为qtchooser提供了默认配置,但不阻止使用替代的Qt安装。


1
您能否再描述一下您的解决方案?
user35443 2013年

3
接受的答案根本不是答案。这个应该是公认的答案。
thias 2014年

以下为我设置了完整的qt5开发安装:apt-get install qt5base-dev qtdeclarative5-dev qt5-qmake qt5-default qttools5-dev-tools然后使用以下命令进行检查:qtchooser -print-env
Salil

29

您可以使用检查qmake的路径which qmake

考虑安装qt4-defaultqt5-default取决于您要使用的qt版本。

您还可以使用qtchooser- 用于在Qt开发二进制版本之间进行选择的包装器。


2
@ Warthel4578,您好,谢谢,您的回答间接地帮助了我,因为我安装了qt4-qmake,所以我应该调用“ qt4-qmake”而不是“ qmake”(我在目录路径中都找到了它们)。现在可以正常工作了:)
奇怪的是

感谢Warthel,这帮助我发现了为什么我的qmake无法正常工作。Ubuntu 14.04上的qmake被链接到qtchooser
Scone

我得到了这个答案,然后发现,根据no qtwebkit installation found我还必须按照Thoughtbot Github Wiki页面apt-get install qt5-default libqt5webkit5-dev gstreamer1.0-plugins-base gstreamer1.0-tools gstreamer1.0-x所述
相当于

15

对于我这种情况下的其他人,解决方案是:

qmake -qt=qt5

安装qt5-qmake之后,它在Ubuntu 14.04上。qmake是使用-qt参数的qtchooser的符号链接。


8

作为Debian Qt的维护者,请允许我建议您不要使用qtx-default。请阅读qtchooser的手册页,其中描述了解决方案。如果您有兴趣打包应用程序,还可以查看我撰写的博客文章,其中介绍了如何做


5
您能解释一下为什么我们不应该使用qtx-default吗?qtchooser联机帮助页帮助我了解发生了什么,但是我不明白为什么使用软件包提供默认值是一个问题。
罗比·巴萨克

2
如果将qmake-qtX捆绑在相关的qt版本下会很好。穿上这些衣服有点麻烦。
Xofo

@RobieBasak肯定的事情:假设您安装了qt5-default。然后,您运行一个调用qdbus的qt4应用程序。您会获得qt5的qdbus,它应该可以工作,但不保证可以这样做。
lisandro

1
当然,这是qt4应用程序如何调用qdbus或在运行qt4应用程序的环境中存在的错误,而不是我从CLI缺省选择要qt5的错误吗?
罗比·巴萨克

第一件事:也许qdbus是一个不好的例子。假设上游公司决定不通过4到5的更改来重命名Qt的基础工具。因此,除非您中间有qtchooser,否则无法事先知道该应用程序将运行哪个版本。但是qtchooser,即使这是一个不错的尝试,但在很多地方(至少在发行版世界中)确实存在不足。理想情况下,应在主版本之后召回每个应用程序,或者应保留兼容性。
lisandro

8

我在构建jasmine-headless-webkit Ruby gem时遇到了问题。尽管安装qmake了qt4,(符号链接到qtchooser)坚持认为它不了解QT安装。OTOH,它可以在直接询问时列出qt4。

这使一切变得更好:

export QT_SELECT=qt4

然后,qtchooser知道使用qmake-qt4,依此类推。


完善!尝试安装qBittorrent时遇到相同的问题,而我的问题已通过解决export QT_QMAKE=/usr/bin。永远不知道这些环境变量何时会重来!
亚历克斯·瑞安


1

我已经安装了qt4。我发现,尽管“哪一个qmake”返回/ usr / bin / qmake,但还是使用以下路径对我来说仍然有效,无论如何这只是到qtchooser的链接。

在64位系统上,以下路径对我有用。从以下完整路径运行:

/usr/lib/x86_64-linux-gnu/qt4/bin/qmake

在所有答案中,这实际上是唯一可以远程使用的答案。除了我需要使用/usr/lib/x86_64-linux-gnu/qt5/bin/qmake
Akito的

0

全局定义的指向所需版本的符号链接:

sudo ln -s /usr/bin/qmake-qt5 /usr/bin/qmake

...或每个用户:

sudo ln -s /usr/bin/qmake-qt5 /home/USERNAME/.local/bin/qmake

...看是否有效:

qmake --version

如何添加评论,为什么这个答案被否决?无法理解或应用该解决方案并不能完全解释为正当理由...虽然我可以肯定它是有效的,因为我可以像那样工作。
Martin Zeitler

1
因为我不是一个易于理解的人,所以投了赞成票,而我实际上是从源头构建的,这个符号链接的答案接近了使我步入正轨的时刻,因为我忘记了我对'qmake'的别名。谢谢。
While-E

0

对于我的Qt 5.7,打开QtCreator,请转到工具->选项->生成并运行-> Qt版本给我qmake的位置。


0

如果助手直接从终端运行,它将使用默认路径,通常是/ usr / bin / assistant。我有类似的情况,要使其正常工作,我要做的就是找到我的qt安装bin路径的实际安装,例如xxx / Qt5.13.2 / 5.13.2 / gcc_64 / bin /,键入xxx / Qt5.13.2直接从终端/5.13.2/gcc_64/bin/assisstant

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.