【在Ubuntu 24.04.2 LTS上安装Qt 6.9.2】
文章目录
- 前言
- 1. 获取Linux平台的Qt安装包
- 2. 授权并安装
- 3. 问题处理
- 4. 补充安装依赖组件
- 5. 配置QMake工具(可选)
- (1)安装qtchooser
- (2)安装Qt 6 SDK
- (3)关联QMake与Qt版本
- 6. 安装GCC编译器
- 7. 安装其他必备组件
- (1)安装通用字体配置库
- (2)安装OpenGL库
- (3)安装附加包
- (4)更新g++
- 总结
前言
Ubuntu上安装Qt Creator 与Windows上比较有显著的不同,差异主要体现在:
(1)需要预先赋予安装包的执行权限。
(2)安装包安装完成后还不能用,还需要查看和补充安装关联、依赖的组件。
(3)QMake工具、C/C++编译器等这些Qt开发必须的组件可能未在Linux版的Qt Creator 中内置集成,需要另外再逐一安装和配置,否则无法使用Qt Creator 。
1. 获取Linux平台的Qt安装包
下载链接:https://www.qt.io/download-dev
下载的在线安装包为:qt-online-installer-linux-x64-4.10.0.run
2. 授权并安装
~$ chmod +x qt-online-installer-linux-x64-4.10.0.run
~$ ./qt-online-installer-linux-x64-4.10.0.run
接下来通过向导完成Qt Creator 安装,步骤与Windows平台一致。
3. 问题处理
安装过程中会遇到问题提示,可以现行记录下来。一般是提示缺少依赖包,并给出要安装的依赖包,例如可能提示要运行“apt install libxcb-cursor0 libxcb-cursor-dev”命令安装libxcb-cursor0 和libxcb-cursor-dev。
可以再开启一个终端窗口,输入:
~$ sudo apt install libxcb-cursor0 libxcb-cursor-dev
或者
~$ sudo apt-get install libxcb-cursor0 libxcb-cursor-dev
4. 补充安装依赖组件
以上第3步为补充安装依赖组件。如果不知道究竟要安装哪些依赖组件,可以按如下步骤操作。
进入Qt安装目录下的路径“Qt/Tools/QtCreator/lib/Qt/plugins”中的“platforms”子目录,在其窗口右击打开终端窗口,运行如下命令行:
~/Qt/Tools/QtCreator/lib/Qt/plugins/platforms$ ldd libqxcb.so
回车后,屏幕显示出系统中所有与Qt平台关联依赖组件的安装情况。
其中,如果有类似如下的条目后显示为“not found”项,则该项必须补充安装。
libxcb-cursor.so.0 => not found
补充安装的命令见第3步,补充安装完成后可以再次输入“ldd libqxcb.so”命令查看Qt所关联的依赖组件的安装情况。
至此,Linux平台上的Qt Creator 已安装好。但此时仍不要急于启动他们,待完成下述一些相关软件工具的安装配置后,才能正常使用。
5. 配置QMake工具(可选)
QMake是Qt提供的一个编译打包工具,由Trolltech公司开发,用来简化在不同平台间开发项目工程的构建过程。在Linux平台进行Qt开发,需要将QMake与所使用的Qt对应版本的SDK关联起来。我们通过Ubuntu上的qtchooser工具来进行这种关联配置。
(1)安装qtchooser
~$ sudo apt install qtchooser
安装完成后,可通过输入命令“qtchooser -l”来查看系统中已有的SDK(有对应Qt 4和Qt 5的),如下:
~$ qtchooser -l
4
5
default
qt4-x86_64-linux-gnu
qt4
qt5-x86_64-linux-gnu
qt5
所列各项没有Qt 6的SDK,需要我们额外安装。
(2)安装Qt 6 SDK
进入Qt安装目录的“Qt/6.9.2/gcc_64/bin”子目录下,打开该子目录的终端窗口,输入命令:
~/Qt/6.9.2/gcc_64/bin$ qtchooser -install qt6.9.2 ./qmake
可以查看SDK是否真正安装成功。此时在终端窗口中回到主目录下,即输入命令:
~/Qt/6.9.2/gcc_64/bin$ cd ~
$ qtchooser -l
4
5
default
qt4-x86_64-linux-gnu
qt4
qt5-x86_64-linux-gnu
qt5
qt6.9.2
通过命令输出可以发现,最下面多了一个“qt6.9.2”项,说明Qt 6 SDK安装成功。
(3)关联QMake与Qt版本
在终端窗口中输入命令:
~$ export QT_SELECT=qt6.9.2
然后再输入命令:
~$ qmake -v
Make version 3.1
Using Qt version 6.9.2 in /home/brick/Qt/6.9.2/gcc_64/lib
命令输出显示了当前QMake的版本及其所使用的Qt的版本。所明QMake与Qt已经正确关联。
注意:
从Qt 5.15版本开始,Qt 官方正式推荐使用 CMake 作为主要构建系统,并引入了支持 无版本目标(versionless targets)的机制,以简化不同 Qt 版本间的兼容性问题。对于Qt 6,更是全面采用 CMake 作为构建工具,移除了qmake 依赖,要求使用 CMake 3.16 以上版本(不同子项目对 CMake 版本有更高要求,例如 Apple 平台需 CMake 3.21.1)。Qt 5.15 引入的 CMake 支持主要用于过渡,而 Qt 6 的改动更大,需要升级 CMake 版本并调整构建配置。
所以对于Qt 6,我们可以跳过上面第5步介绍的“配置QMake工具”内容,而直接使用CMake这一更强大的构建系统。CMake支持更复杂的依赖关系或跨平台构建,并且可以生成多种类型的构建文件(如Makefile、Ninja、Visual Studio项目文件等)。
6. 安装GCC编译器
Qt是基于C/C++的集成开发工具,其底层离不开C/C++编译器。在Linux系统中,C/C++编译器又名GCC,我们通过如下命令来完成Qt的C/C++编译器的安装。
打开终端窗口,输入命名:
~$ sudo apt-get install build-essential
等待命令下载、安装完成。
如果提示“E: 有几个软件包无法下载,要不运行 apt-get update 或者加上 --fix-missing 的选项再试试?”
可以先运行命令
~$ sudo apt-get update
然后再次运行:
~$ sudo apt-get install build-essential
7. 安装其他必备组件
(1)安装通用字体配置库
在终端窗口输入命名:
~$ sudo apt-get install libfontconfig1
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
libfontconfig1 已经是最新版 (2.15.0-1.1ubuntu2)。
libfontconfig1 已设置为手动安装。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 381 个软件包未被升级。
...
(2)安装OpenGL库
在终端窗口输入命名:
~$ sudo apt-get install mesa-common-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:libgl1-amber-dri libglapi-mesa libllvm19
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:libdrm-dev libegl-mesa0 libgbm1 libgl-dev libgl1-mesa-dri libglx-dev libglx-mesa0 libllvm20 libpciaccess-devlibpciaccess0 libx11-dev libxatracker2 mesa-libgallium mesa-vulkan-drivers xtrans-dev
建议安装:libx11-doc
下列【新】软件包将被安装:libdrm-dev libgl-dev libglx-dev libllvm20 libpciaccess-dev libx11-dev mesa-common-dev xtrans-dev
下列软件包将被升级:libegl-mesa0 libgbm1 libgl1-mesa-dri libglx-mesa0 libpciaccess0 libxatracker2 mesa-libgallium mesa-vulkan-drivers
升级了 8 个软件包,新安装了 8 个软件包,要卸载 0 个软件包,有 373 个软件包未被升级。
需要下载 63.2 MB 的归档。
解压缩后会消耗 160 MB 的额外空间。
您希望继续执行吗? [Y/n]
...
(3)安装附加包
对于新版本的Ubuntu系统,还需要额外安装一个包,在终端窗口输入命令:
~$ sudo apt-get install libglu1-mesa-dev -y
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:libgl1-amber-dri libglapi-mesa libllvm19
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:libopengl-dev
下列【新】软件包将被安装:libglu1-mesa-dev libopengl-dev
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 373 个软件包未被升级。
...
(4)更新g++
在终端窗口中输入命令:
~$ sudo apt-get install g++
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
g++ 已经是最新版 (4:13.2.0-7ubuntu1)。
g++ 已设置为手动安装。
下列软件包是自动安装的并且现在不需要了:libgl1-amber-dri libglapi-mesa libllvm19
使用'sudo apt autoremove'来卸载它(它们)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 373 个软件包未被升级。
...
总结
只有依次经过了以上各个阶段(有些阶段可选)的安装和配置,确认不再有组件缺少且全部配置正确,此时才能启动Qt Creator进入正式的开发。