银河麒麟4.0.2桌面版默认安装了Qt5.6.1,但没有QtSerialPort模块,需要自己安装。编译安装时发生了错误,本文记录了解决错误的过程。
0.错误描述
在Qt官网下载QtSerialPort5.6.1安装包,解压,进入目录,打开终端,编译安装。
/usr/lib/x86_64-linux-gnu/qt5/bin/qmake qtserialport.pro
make
make install
make时报错如下:
错误信息是private/qringbuffer_p.h:没有那个文件或目录。这个错误以前遇到过,需要安装libqt5serialport5-dev和qtbase5-private-dev,安装之后再次make,还会发生另一个错误:
解决这个错误,需要安装libudev-dev。总结一下,一共需要安装3个包,命令如下:
apt-get install libqt5serialport5-dev
apt-get install libudev-dev
apt-get install qtbase5-private-dev
然而一个也没安上,因为找不到这些包:
所以首先要解决找不到包的问题,方法就是换个apt源。
1 更换源
换源之前先确定操作系统的版本,根据版本再确定换哪个源。
1.1 查看操作系统版本
cat /etc/issue
得到操作系统版本:Kylin 4.0.2 \n \l
ps:还有一种办法:问系统管理员。其实系统是我自己安装的,安装文件是Kylin-4.0.2-desktop-sp2_Community-20171127-x86_64.iso,可以看出版本是4.0.2-desktop-sp2,比用命令查出来的更详细 -_-
1.2 修改sources.list文件
根据得到的系统版本,到这里查找对应的源:
根据系统版本找到相应的源地址。我需要的是4.0.2-sp2桌面版,所以打开/etc/apt/source.list文件:
vi /etc/apt/sources.list
在文件尾部添加一行:
deb http://archive.kylinos.cn/kylin/KYLIN-ALL 4.0.2-sp2-desktop main restricted universe multiverse
ps:不熟悉vi的同学,注意不要乱按键盘,先按“i”键切换到编辑模式,再按“向下”键到文件末尾,按“回车”键新建一行,输入上述源地址,按“ESC”退切换到命令模式,输入“:wq”(注意wq前面有个冒号也是要输入的),最后按“回车键”保存文件并退出。
1.3 更新源
清理旧源、更新新源:
apt-get clean
apt-get update
2 安装依赖
apt-get install libqt5serialport5-dev
apt-get install libudev-dev
apt-get install qtbase5-private-dev
3 编译安装QtSerialPort
在Qt官网下载QtSerialPort5.6.1安装包,解压,进入目录,打开终端,编译安装。
/usr/lib/x86_64-linux-gnu/qt5/bin/qmake qtserialport.pro
make
make install