当前位置: 首页 > news >正文

ubuntu20.04-编译安装Qt5.15.2-C++

文章目录

      • 步骤一:安装依赖项
      • 步骤二:下载Qt 5.15源代码
      • 步骤三:配置并编译Qt
      • 步骤四:配置环境变量
      • 注意事项
      • 更新于2024年

在Ubuntu 22.04 LTS(Jammy Jellyfish)环境下编译Qt 5.15,由于Ubuntu 22.04的官方仓库不再提供Qt 5.15系列的支持,您需要从源代码编译。以下是编译Qt 5.15的大致步骤:

步骤一:安装依赖项

确保系统中已经安装了必要的编译工具和依赖包,例如:

sudo apt update
sudo apt install build-essential libfontconfig1-dev libfreetype6-dev libx11-dev libxext-dev libxrender-dev libxcb1-dev libxi-dev libgl1-mesa-dev libssl-dev gperf libicu-dev pkg-config bison flex qtchooser
sudo apt install libdbus-1-dev

步骤二:下载Qt 5.15源代码

访问Qt官网的Archive部分下载Qt 5.15的源代码包,例如qt-everywhere-src-5.15.2.zip.tar.xz格式。

wget https://download.qt.io/archive/qt/5.15/5.15.2/single/qt-everywhere-src-5.15.2.tar.xz
tar -xf qt-everywhere-src-5.15.2.tar.xz
cd qt-everywhere-src-5.15.2

步骤三:配置并编译Qt

创建一个构建目录,并在其中进行配置和编译。您可以选择只编译所需的模块,如qtbase、qtdeclarative等,或者编译全部模块。以下是一个基本的全局编译示例:

mkdir build
cd build
../configure -opensource -confirm-license -nomake examples -nomake tests -release
../configure -opensource -confirm-license -nomake examples -nomake tests -nomake qt3d -debug-and-release# 如果您需要支持特定平台或特性,比如gtk2主题,则添加相关选项,例如:
# ../configure -opensource -confirm-license -nomake examples -nomake tests -release -qt-xcb -qt-gtk2make -j 8
sudo make install

步骤四:配置环境变量

编译完成后,为了能够方便地使用新编译的Qt版本,可以更新环境变量PATH,将新安装的bin目录添加进去:

echo 'export PATH=/usr/local/Qt-5.15.2/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

请根据实际情况调整上述路径以指向实际安装位置。

注意事项

  • 编译过程可能需要较长时间,取决于您的硬件性能。
  • 在某些情况下,您可能还需要针对特定目标架构或交叉编译进行配置,这会涉及更多的编译参数。
  • Qt 5.15版本不再提供长期技术支持,可能存在与最新Linux内核或其他库不兼容的问题,因此在生产环境中谨慎考虑是否需要降级到这个版本。

更新于2024年

如果您是在2024年执行此操作,请务必检查Qt 5.15源代码与当前Ubuntu 22.04系统组件的兼容性,以及是否有新的已知问题需要解决。如果有可能,建议升级到更高版本的Qt,或者寻找社区维护的适用于Ubuntu 22.04的Qt 5.15 PPA。

http://www.lryc.cn/news/298106.html

相关文章:

  • 【PTA|期末复习|编程题】数组相关编程题(二)
  • 重温阿里云宝塔面板部署前后端项目
  • 6个好看的wordpress模板
  • 零基础学python之高级编程(1)---面向对象编程及其类的创建
  • [C# WPF] DataGrid选中行或选中单元格的背景和字体颜色修改
  • 单片机学习笔记---串口通信(1)
  • 熔断机制解析:如何用Hystrix保障微服务的稳定性
  • 第三节 zookeeper基础应用与实战2
  • C# Socket通信从入门到精通(21)——Tcp客户端判断与服务器断开连接的三种方法以及C#代码实现
  • vulnhub-->hacksudo-Thor靶机详细思路
  • Java外卖小程序管理系统
  • 挖掘嵌入式系统在物联网和智能设备中的应用潜力
  • 用docker 配置scala spark环境
  • 医疗处方架构设计和实现的实战经验总结
  • 专业140+总分410+华南理工大学811信号与系统考研经验华工电子信息与通信,真题,大纲,参考书。
  • 软件测试学习笔记-测试用例的编写
  • 『运维备忘录』之 Kubernetes(K8S) 常用命令速查
  • Android SDK 上传 Maven 喂奶级教程
  • R语言绘图教程 | 双侧条形图绘制教程
  • ubuntu篇---ubuntu安装python3.9
  • git初始化一个远程空仓库
  • 装箱问题+宠物小精灵之收服+数字组合——01背包
  • 记一次页面接口502问题:“502 Bad Gateway”
  • Oracle systemstate、gdb、dbx介绍
  • Stable Diffusion 模型下载:RealCartoon-Anime - V10
  • 课时22:内置变量_字符串相关
  • 软件应用实例分享,电玩计时计费怎么算,佳易王PS5游戏计时器系统程序教程
  • 架设游戏服务器租用价格?腾讯云和阿里云价格对比
  • ag-Grid:对数据变化的单元格进行高亮显示
  • Oracle 几种行转列的方式 sum+decode sum+case when pivot