文章目录
前言
在一些特定场景下我们可能需要在更高版本ubuntu上(比如Ubuntu20.04、Ubuntu22.04)安装 Qt 4,维护和开发32位armQT4应用程序。
对于高版本ubuntu, 官方对Qt 4 已经不再提供维护,因此需要解决许多兼容性问题。我们前面博文《Ubuntu64位系统(v18.04)下arm32位版本(Qt4.8.6和tslib1.4)开发环境搭建》详细介绍了
Ubuntu18.04版本中的配置过程。
在 Ubuntu 20.04和Ubuntu 22.04中,又出现了新的兼容性问题,如果希望在ubuntu中编译和安装qt4源码,则需要降低GCC的版本。我们是通过使用 update-alternatives 命令来切换版本,即在不同版本的 GCC 和 G++ 之间进行切换,完成对QT4编译和安装。本文以ubuntu22.04为例介绍了降低GCC版本的具体操作步骤。之后的搭建开发环境过程与ubuntu18.04中相同,不再赘述。
实际的开发环境搭建过程,其实不用那么麻烦,我们可以将已经编译安装完成的QT库(包括tslib)按照原来的安装路径,导入到新的ubuntu系统中,配置相同的交叉工具链,再配置当前的qtcreator即可。
尽管我们可以使用上面的方法在高版本Ubuntu安装32位armQT4开发环境,但还是建议考虑使用较新的 Qt 版本(如 Qt 5 或 Qt 6),因为它们具有更好的性能、更多的特性和更好的兼容性。
1、降低GCC的版本操作步骤
1.1 设置新的源
修改/etc/apt/sources.list文件
sudo vim /etc/apt/sources.list
在末尾增加如下配置:
deb http://dk.archive.ubuntu.com/ubuntu/ xenial main
deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe
然后执行:
sudo apt-get update
结果如下:
命中:1 http://cn.archive.ubuntu.com/ubuntu jammy InRelease
命中:2 http://cn.archive.ubuntu.com/ubuntu jammy-updates InRelease
获取:3 http://dk.archive.ubuntu.com/ubuntu xenial InRelease [247 kB]
命中:4 http://security.ubuntu.com/ubuntu jammy-security InRelease
命中:5 http://cn.archive.ubuntu.com/ubuntu jammy-backports InRelease
错误:3 http://dk.archive.ubuntu.com/ubuntu xenial InRelease
由于没有公钥,无法验证下列签名: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
正在读取软件包列表... 完成
W: GPG 错误:http://dk.archive.ubuntu.com/ubuntu xenial InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
E: 仓库 “http://dk.archive.ubuntu.com/ubuntu xenial InRelease” 没有数字签名。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
出现这个错误的原因是缺少 Ubuntu 存储库 GPG 密钥或

1684

被折叠的 条评论
为什么被折叠?



