Qt源码编译-Ubuntu平台

Qt源码编译-Ubuntu平台

Qt官网已取消了Qt 5.15版本二进制安装包。如果要安装Qt 5.15需要下载源码自行编译安装或使用商业授权版本。

Qt 是一个功能强大的跨平台开发框架,支持从嵌入式系统到桌面应用程序的开发。如果你希望在 Ubuntu 平台上从源码编译 Qt,这篇教程将带你一步步完成整个过程。

1.前提条件

1.1 环境介绍

  • 操作系统: Ubuntu20
  • 系统内存: 32G
  • Qt版本: 5.15.15

1.2 安装必要的开发工具

在编译 Qt 源码之前,首先需要确保你的系统具备编译环境以及必要的依赖项。打开终端并运行以下命令来安装必备的工具:

sudo apt-get upgrade
sudo apt-get update
sudo apt-get install build-essential perl python3 git python
sudo apt-get install python3-pip
sudo apt-get install python2.7 python2.7-dev python2

1.3 环境配置

在系统更新界面中,勾选下载源码选项。

1.4安装依赖库

# you need to enable the "Source code" option in Software and Updates > Ubuntu Software under the "Downloadable from the Internet" section.
sudo apt-get build-dep qtbase5-dev

# Qt Base
sudo apt-get install bison build-essential qt5-default 
sudo apt-get install perl git gperf ruby 
sudo apt-get install libclang-10-dev llvm-10*

# Qt OpenGL
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libegl1-mesa-dev freeglut* libgles* libglew*

# Libxcb
sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
sudo apt install libxrandr-dev
sudo apt-get install xcb* libxcb* libx11* libxkbcommon* libxrender* libxi-dev
sudo apt install libdouble-conversion-dev

# Qt WebKit
sudo apt-get install flex libicu-dev libxslt-dev ruby gperf

# Qt WebEngine
sudo apt-get install build-essential python2 libasound2-dev libdrm-dev libegl1-mesa-dev libnss3-dev libpci-dev libpulse-dev libudev-dev libxtst-dev gyp ninja-build

sudo apt-get install libxcursor-dev libxcomposite-dev libfontconfig1-dev libxss-dev libsrtp2-dev libwebp-dev libjsoncpp-dev libopus-dev libminizip-dev libavutil-dev libavformat-dev libavcodec-dev libvpx-dev libsnappy-dev libre2-dev libprotobuf-dev protobuf-compiler

sudo apt-get install libdbus-1-dev libevent-dev libcap-dev bison nodejs npm
sudo apt-get install libssl-dev libxdamage-dev
sudo apt-get install libdus* dbus*
sudo apt-get install fontconfig libcap-dev libxext-dev
sudo apt-get install libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
sudo apt-get install libcups2* pulseaudio* alsa-* mesa-* systemd* system-* libgudev-1.0-dev libatspi2.0* at-spi2-* libclipper-dev
sudo apt-get install libdbus-1-dev libcap-dev
sudo apt-get install libx11-*
sudo apt-get install libx11*
sudo apt-get install libxcb-*
sudo apt-get install libxcb*
sudo apt-get install libxkbcommon-devsudo
sudo apt-get install libxkbfile-dev
sudo apt install llvm
sudo apt-get install libxkb-*
sudo apt-get install libxkb*

#  QtBlueTooth
sudo apt-get install bluez* bluetooth libbluetooth*

# Qt Multimedia
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev libgstreamer-plugins-bad1.0-dev
sudo apt-get install libwayland-dev
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

# QDoc Documentation Generator Tool
sudo apt install clang libclang-dev

1.5设置LLVM路径

编译QDoc文档需要使用到LLVM工具,需要设置环境变量告知系统LLVM的路径

#查询LLVM路径
llvm-config --prefix

#设置LLVM路径,具体值为上述查询结果
export LLVM_INSTALL_DIR=/usr/lib/llvm-10

2.下载 Qt 源码

首先,选择你想要编译的 Qt 版本。你可以从 Qt 官方下载页面获取源码包,也可以直接通过 Git 仓库克隆源码。

2.1 从官网获取源码

你可以访问 Qt 官网下载你所需的版本。下载完成后,解压源码:

tar -xvf qt-everywhere-src-<version>.tar.xz
cd qt-everywhere-src-<version>

2.2 使用 Git 克隆源码

使用 Git 克隆最新的 Qt 源码:

git clone https://code.qt.io/qt/qt5.git
cd qt5
git checkout <version>  # 根据你需要的版本号替换 <version>

运行以下命令更新子模块:

perl init-repository

3.配置 Qt 源码编译选项

Qt 编译时可以指定很多选项来优化编译过程或选择不同的功能模块。你可以通过 ./configure 脚本进行配置。

3.1 基本配置

在 Qt 源码目录下运行以下命令:

./configure -opensource -confirm-license -release -prefix /opt/qt5.15.15 
  • -opensource:指定使用开源许可。
  • -confirm-license:自动确认许可协议。
  • -release:编译release版本。
  • -prefix:安装路径。

如图所示,无任何错误提示,表示配置成功。

3.2 配置特定模块

如果你只需要特定模块,例如不需编译 Qt Webengine 模块,你可以在配置时指定:

./configure -opensource -confirm-license -skip qtwebengine -prefix /opt/qt5.15.15 

-skip 选项用于跳过不需要的模块,减少编译时间。

4. 编译 Qt

配置完成后,就可以开始编译了。编译 Qt 源码可能需要较长时间,具体取决于你的系统性能。

4.1 启动编译

运行以下命令启动编译:

make -j$(nproc)

-j$(nproc) 会根据你机器的 CPU 核心数并行编译,以加快编译速度。如果你想查看进度,可以去掉 -j参数。

4.2 安装编译后的 Qt

编译完成后,可以运行以下命令将编译好的 Qt 安装到指定路径:

sudo make install

4.3 编译Qt文档

make docs

4.3 安装Qt文档

make install_docs

5. 可能遇到的问题及解决方案

5.1 内存不足

如果编译时遇到内存不足的问题,可以尝试减小并行编译的线程数,或者增加交换空间。

总结

通过上述步骤,你可以在 Ubuntu 平台上成功编译并安装 Qt 源码。编译 Qt 虽然耗时较长,但这也让你可以灵活定制功能模块,适应不同的开发需求。如果你在编译过程中遇到问题,可以参考 Qt 官方文档或社区论坛来寻找帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值