我的Linux系统上有qt4和qt5。默认情况下使用Qt4。有什么干净的方法可以改变它,使qmake默认使用qmake-qt5 ?
系统可能有不同的元包来处理默认值。例如,在Debian上有一个qt4-default
和一个qt5-default
包,安装其中一个将卸载另一个并适当设置符号链接
第0步:在系统中安装qtchooser
$sudo apt-get install qtchooser
第1步:在系统中找到qtchooser配置文件。
$ locate qtchooser | grep conf
/usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
/usr/lib/x86_64-linux-gnu/qtchooser/4.conf
/usr/lib/x86_64-linux-gnu/qtchooser/5.conf
/usr/lib/x86_64-linux-gnu/qtchooser/qt4.conf
/usr/lib/x86_64-linux-gnu/qtchooser/qt5.conf
命令结果可能与您的不同。这些x.conf文件代表了qtchooser在您的系统中可以识别的所有qt版本。每个x.conf文件都是一个符号链接,指向已安装的qt中配置的文件。修改default.conf可以配置您期望的默认qt版本。
步骤2:查找符号链接文件default.conf链接到的文件位置。
$ls -l /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
lrwxrwxrwx 1 root root 53 x xx xxx /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf -> ../../../../share/qtchooser/qt4-x86_64-lnux-gnu.conf
步骤3:创建qt版本配置文件
步骤2的结果显示了所有qt版本配置文件的位置:/usr/share/qtchooser。您只需在此路径中创建指定qt版本的配置文件。例如,我的qt安装在/opt/Qt5.13.1/,我想把这个qt版本设置为我系统中的默认版本。我们可以创建一个名为qt5.13.1.conf的文件。
$cd /usr/share/qtchooser
$sudo vi qt5.13.1.conf
并填写以下两行:第一行表示qmake位置,另一行表示库路径。
/opt/Qt5.13.1/5.13.1/gcc_64/bin
/opt/Qt5.13.1/5.13.1/gcc_64/lib
步骤4:设置你的qt为默认的。
只需修改在步骤3中创建的qt配置文件的default.conf符号链接。
$cd /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/
$sudo ln -snf ../../../../share/qtchooser/qt5.13.1.conf default.conf
完成这些步骤后,默认的qt已经配置好了,你可以输入下面的命令来测试,它应该是你的默认qt。
$qmake -v
有一个名为qtchooser的工具可以在Qt版本之间切换。在Debian和Ubuntu上,你可以用apt-get install qtchooser
来安装它。
最简单的方法是使用它列出备选项,然后创建QT_SELECT
环境变量。
$ qtchooser -list-versions
4
5
default
opt-qt55
qt4-i386-linux-gnu
qt4
qt5-i386-linux-gnu
qt5
然后创建QT_SELECT
环境变量并设置例如export QT_SELECT=4
或export QT_SELECT=5