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 官方文档或社区论坛来寻找帮助。
标签:Qt,get,sudo,apt,源码,dev,install,Ubuntu From: https://blog.csdn.net/BytePro/article/details/142604533