前言

QT官网的文档中说明,QT5.15的Linux平台要求是Ubuntu18.04。
作者是第一次在Ubuntu18.04系统下安装QT5.15,安装过程中出现了一些问题。通过在网上查找大量资料,终于安装成功。
现将问题和解决方法记录下来,希望看到此文档的同仁能够轻松避坑。


一、安装Ubuntu18.04系统

QT支持很多体系架构的操作系统,但是同样对于操作系统平台有配置要求。对于Linux操作系统而言,其中一种就是Ubuntu18.04。1

Qt for Linux/X11 支持的配置

安装Ubuntu18.04很简单。作者参考教科书2中的做法,采用VisualBox作为虚拟机。具体步骤参考另一篇博文。

二、安装编译工具链

适用于 Linux 的 Qt 安装程序假定主机操作系统提供 C++ 编译器、调试器、make 和其他开发工具。此外,构建图形 Qt 应用程序需要安装 OpenGL 库和头文件。大多数 Linux 发行版默认情况下不会安装所有这些,需要配置开发环境。


**失败教训:**作者第一次安装QT的时候就没有注意,导致在运行QT installer的时候报错。

如果参考了官方的文档,其实这一步很简单,只需要使用以下命令:

sudo apt-get update
sudo apt-get install build-essential libgl1-mesa-dev
sudo apt-get install libopengl0
sudo apt-get install bison
sudo apt-get install gawk

The Qt installers for Linux assume that a C++ compiler, debugger, make, and other development tools are provided by the host operating system. In addition, building graphical Qt applications requires OpenGL libraries and headers installed. Most Linux distributions do not install all of these by default, but setting up a development environment is still straightforward.1

三、安装开发包——Linux/X11平台插件所需

在 Linux 上,使用xcb QPA(Qt Platform Abstraction)平台插件。它提供了Qt GUI和Qt Widgets在 X11 上运行所需的基本功能。其库依赖项如下表所述。要从其源代码构建 Qt,您还需要为您的系统安装这些库的开发包。3


**小贴士:**作者编写了一个简单的Shell脚本一次性安装如下开发包。

插件开发包如下:
libfontconfig1-dev
libfreetype6-dev
libx11-dev
libx11-xcb-dev
libxext-dev
libxfixes-dev
libxi-dev
libxrender-dev
libxcb1-dev
libxcb-glx0-dev
libxcb-keysyms1-dev
libxcb-image0-dev
libxcb-shm0-dev
libxcb-icccm4-dev
libxcb-sync0-dev
libxcb-xfixes0-dev
libxcb-shape0-dev
libxcb-randr0-dev
libxcb-render-util0-dev
libxcd-xinerama-dev
libxkbcommon-dev
libxkbcommon-x11-dev

四、Ubuntu18.04升级GLIBC至2.28


**第一次安装QT失败:**作者第一次安装完成QT之后,运行./qtcreator的时候报错。错误提示需要GLIBC_2.28,但是Ubuntu18.04自带的版本是GLIB_C2.27。
./qtcreator: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /home/exynos4412/Qt/Tools/QtCreator/bin/../lib/Qt/lib/libQt6Core.so.6)

升级GLIBC一定不能在当前系统中直接升级,会导致系统崩溃,就连安全模式都无法进入。
完美升级GLIBC的方法步骤,可按照作者的另一篇博文Ubuntu18.04完美升级GLIBC,绝对成功4。都是作者的血泪史!

五、复制动态库文件libbz2.so.1


**第二次安装QT失败:**作者第二次安装QT,当运行./qt-unified-linux-x64-4.2.0-online.run的时候报错。缺少动态依赖库文件libbz2.so.1。
./qt-unified-linux-x64-4.2.0-online.run 
./qt-unified-linux-x64-4.2.0-online.run: error while loading shared libraries: libbz2.so.1: cannot open shared object file: No such file or directory

按照作者另一篇博文的方法,问题得到解决。5

六、下载运行QT Online Installer

以上前期准备工作完成之后,安装QT就非常顺利,水到渠成。

  1. 登录www.qt.io,注册QT账号并登录。
  2. 下载页面选择“Go Open Source”,然后下载“the QT Online Installer”。
  3. 按照安装向导的步骤,完成QT的安装。
  4. 配置环境变量。在~/.bashrc文件的最后一行添加:
export PATH=$PATH:~/Qt/Tools/QtCreator/bin
  1. 运行qtcreator。

终于成功了!谢天谢地,功夫不负有心人!

总结

碰到了问题不要着急,先仔细阅读错误提示,然后在网上找相近的解决方案,创造性地解决自己的问题。


  1. Qt for Linux/X11 支持的配置 ↩︎ ↩︎

  2. 沙洋.嵌入式系统与QT程序开发,北京:机械工业出版社,2016. ↩︎

  3. Linux/X11平台插件所需开发包 ↩︎

  4. 【亲测成功】Ubuntu18.04升级GLIBC2.27——解决报错:ibc.so.6: version `GLIBC_2.28‘ not found ↩︎

  5. 解决问题: libbz2.so.1: cannot open shared object file: No such file or directory ↩︎

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐