deepin20或uos系统配置Qt4的环境

一般linux下配置Qt4.8.7的环境是下载下源码,然后configure、make、make install安装,但是deepin20或uos(下面只说deepin20,两个系统情况是一样的)使用的gcc版本是8.3,这种高版本的gcc情况下,按上面的办法直接编译Qt4.8.7的源码是编译不通的。通过联系了uos的工程师,得到了另一种安装办法。

 

1、修改/etc/apt/sources.list源文件

deepin20原/etc/apt/sources.list的原内容如下图1所示,只有一行deb开头的内容有效,这个只是提供了apt工具下载包的源,却没有提供下载源码的源,只需要将deb开头的内容复制一下,另起一行,并将deb修改成deb-src即可,修改后的sources.list内容如图2所示:

 

deepin20或uos系统配置Qt4的环境

                                                                                                                                                                           图1 sources.list文件的原内容

deepin20或uos系统配置Qt4的环境

 

                                                                                                                                                                    图2 sources.list文件修改后的内容

然后运行sudo apt update 指令时上面修改的源生效

2、准备工作

sudo apt build-dep qt4-x11安装编译Qt4.8.7的依赖

sudo apt install devscripts 安装dpkg-buildpackage指令,后面需要使用

 

3、下载Qt4.8.7的源码

然后找一个空的目录,运行apt source qt4-x11 指令下载Qt4.8.7的源码,源码下载完成的最后一句会报一个权限不够的错误,不用管

4、编译Qt4.8.7的源码

源码下载完成后目录结构如图3所示,在终端中进入qt4-x11-4.8.7+dfsg.1目录,运行dpkg-buildpackage -sa -us -uc -j4 指令编译源码

deepin20或uos系统配置Qt4的环境

 

                                                                                                                                                                               图3 Qt4.8.7源码下载完成后的目录结构

5、安装Qt4.8.7

上面指令完成后,会在qt4-x11-4.8.7+dfsg.1同级目录下生成很多deb包,如图4所示,可以根据自己的需要选择哪些deb包进行安装,而我这边直接运行sudo dpkg -i ./*.deb 将所有的deb包都安装了,安装过程中可能有部分deb包会报错,不用理会。安装完成后qmake-qt4会出现在/usr/bin中了,在QtCreator中配置即可

deepin20或uos系统配置Qt4的环境

 

                                                                                                                                                                                        图4 生成的deb包