环境:银河麒麟 kylin 4.4.58-20170818.kylin.desktop-generic, aarch64, aarch64, aarch64, GNU/Linux

本机是自带Qt 4.8.7Qt 5.6.1双版本的,但是我们项目开发使用的是Qt 5.9.8,所以需要安装新版本Qt

使用源码安装Qt 5.9.8之后(参考博客),

编辑环境变量:

kylin@kylin:~/Qt_Source/qt-everywhere-opensource-src-5.9.8$ sudo vim /etc/profile
# 按下i输入,在其最后添加以下信息
export QTDIR=/usr/local/Qt-5.9
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

Esc后输入:wq保存退出。

在终端中输入qmake -v

kylin@kylin:~/Qt_Source/qt-everywhere-opensource-src-5.9.8$ qmake -v
QMake version 2.01a
Using Qt version 4.8.7 in /usr/lib/aarch64-linux-gnu

可以看出默认的版本是Qt 4.8.7

银河麒麟上的Qt版本管理工具是qtchooser

先输入qtchooser查看用法:

kylin@kylin:/usr/lib/aarch64-linux-gnu/qtchooser$ qtchooser
Usage: 
  qtchooser { -l | -list-versions | -print-env } 
  qtchooser -run-tool=<tool name> [-qt=<Qt version>] [program arguments] 
  <executable name> [-qt=<Qt version>] [program arguments] 

Environment variables accepted: 
QTCHOOSER_RUNTOOL  name of the tool to be run (same as the -run-tool argument) 
QT_SELECT          version of Qt to be run (same as the -qt argument) 

再输入qtchooser -l显示qmake的几种版本的列表:

kylin@kylin:/usr/lib/aarch64-linux-gnu/qtchooser$ qtchooser -l
4
5
default
qt-5.9-aarch64-linux-gnu
qt4-aarch64-linux-gnu
qt4
qt5-aarch64-linux-gnu
qt5

可以看出多了一个qt-5.9-aarch64-linux-gnu,这个环境就是刚刚安装好的qt5.9.8版本!但是我看了一下/usr/lib/aarch64-linux-gnu/qtchooser下面共有5个文件,分别是:
4.conf5.confdefault.confqt4.confqt5.conf
这也是系统安装好就有的一些文件,我打开看了一下,其中4.confdefault.confqt4.conf都是链接到相同的文件:/usr/share/qtchooser/qt4-aarch64-linux-gnu.conf5.confqt5.conf也是链接到相同的文件:/usr/share/qtchooser/qt4-aarch64-linux-gnu.conf。这两个conf文件里面的内容分别是:

/usr/lib/aarch64-linux-gnu/qt4/bin
/usr/lib/aarch64-linux-gnu
/usr/lib/aarch64-linux-gnu/qt5/bin
/usr/lib/aarch64-linux-gnu

分别说明不同版本4和5qtbin目录和库目录的位置。

但是这个文件夹下却没有qt-5.9-aarch64-linux-gnu对应的软链接.conf文件。(可能是直接从这里设置一下环境变量,export QT_SELECT=qt-5.9-aarch64-linux-gnu就行了,我没试)由于我强迫症,我还是选择了如下方式,自己新建软链接的方法:

先在/usr/share/qtchooser下自动生成的空文件qt-5.9-aarch64-linux-gnu.conf中加入内容:

kylin@kylin:/usr/share/qtchooser$ vim qt-5.9-aarch64-linux-gnu.conf
# 加入以下内容,第一行是 bin 目录,第二行是库文件所在目录
/usr/local/Qt-5.9/bin
/usr/local/Qt-5.9/

之所以这样写,是因为编译完成后Qt的安装目录是我自己指定的位置:/usr/local/

接下来要在/usr/lib/aarch64-linux-gnu/qtchooser下新建建软链接,名为qt5.9.conf,它就指向/usr/share/qtchooser/qt-5.9-aarch64-linux-gnu.conf文件:

kylin@kylin:/usr/lib/aarch64-linux-gnu/qtchooser$ sudo ln -s /usr/share/qtchooser/qt-5.9-aarch64-linux-gnu.conf qt5.9.conf

都需要切换root高级权限。

再查看一下qtchooser的环境列表:

kylin@kylin:/usr/lib/aarch64-linux-gnu/qtchooser$ qtchooser -l
4
5
default
qt-5.9-aarch64-linux-gnu
qt4-aarch64-linux-gnu
qt4
qt5-aarch64-linux-gnu
qt5.9
qt5

可以看出比之前多了一个qt5.9,最后设置一下环境变量,使之使用qt5.9的环境:

kylin@kylin:/usr/lib/aarch64-linux-gnu/qtchooser$ export QT_SELECT=qt5.9

检验一下qmake 版本号:

kylin@kylin:/usr/lib/aarch64-linux-gnu/qtchooser$ qmake -v
QMake version 3.1
Using Qt version 5.9.8 in /usr/local/Qt-5.9/lib

切换为qt 5.9.8,大功告成。

Logo

更多推荐