使用 qtchooser 选择 Qt5

使用 qtchooser 选择 Qt5

问题是,在我尝试从源代码构建超级对撞机之前,请确保我使用的是 Qt5。问题是这样的:

jsimon@edgy:~$ qmake -v
qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory
jsimon@edgy:~$ locate qmake
/usr/bin/qmake

我认为 qtchooser 是否存在配置错误,文档在这里:

Qtchooser 手册页

和这里:

从 Scratch 开始在 Linux 上使用 Qtchooser

进一步挖掘后,发现有一个目录包含一些符号链接:

jsimon@edgy:/usr/lib/x86_64-linux-gnu/qtchooser$ ls -al
lrwxrwxrwx   1 root root    50 Sep  1 06:04 4.conf -> ../../../share/qtchooser/qt4-x86_64-linux-gnu.conf
lrwxrwxrwx   1 root root    50 Sep  1 06:04 5.conf -> ../../../share/qtchooser/qt5-x86_64-linux-gnu.conf
lrwxrwxrwx   1 root root    50 Sep  1 06:04 qt4.conf -> ../../../share/qtchooser/qt4-x86_64-linux-gnu.conf
lrwxrwxrwx   1 root root    50 Sep  1 06:04 qt5.conf -> ../../../share/qtchooser/qt5-x86_64-linux-gnu.conf

另一个更深的目录中似乎存在问题,一个符号链接将 Qt4 作为默认值:

jsimon@edgy:/usr/lib/x86_64-linux-gnu/qt-default/qtchooser$ ls -al
lrwxrwxrwx 1 root root   53 Sep  1 06:04 default.conf -> ../../../../share/qtchooser/qt4-x86_64-linux-gnu.conf

来自 qtchooser 的一些信息:

jsimon@edgy:~$ qtchooser -print-env
QT_SELECT="default"
QTTOOLDIR="/usr/lib/x86_64-linux-gnu/qt4/bin"
QTLIBDIR="/usr/lib/x86_64-linux-gnu"

查看此页面,它应该很简单:

处理多个 Qt 版本

然而:

jsimon@edgy:~$ export QT_SELECT=qt5
jsimon@edgy:~$ printenv
[snip]
QT_SELECT=qt5
[snip]
jsimon@edgy:~$ qmake -v
qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt5/bin/qmake': No such file or directory

回到起点,没有变化。现在怎么办?

答案1

所有这些最终都只是一个幌子:所需要做的就是安装 qmake,例如:

sudo apt install qt5-qmake

相关内容