网上做网站,遂宁网站开发,特乐网站建设,永州市规划建设局网站ARM 编译Qt5.14.2源码
1.下载源码
下载Qt5.14.2源代码#xff08;可根据自己的需求下载不同版本#xff09;
下载网站#xff1a;https://download.qt.io/new_archive/qt/5.14/5.14.2/single/
2.相关依赖(如果需要的话)
先参考官方文档的需求进行安装#xff1a; 官方…ARM 编译Qt5.14.2源码
1.下载源码
下载Qt5.14.2源代码可根据自己的需求下载不同版本
下载网站https://download.qt.io/new_archive/qt/5.14/5.14.2/single/
2.相关依赖(如果需要的话)
先参考官方文档的需求进行安装 官方安装依赖参考文档
2.1 QtWebEngine相关依赖
sudo apt-get install flex libicu-dev libxslt-dev
sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev
sudo apt-get install libdus* dbus*
sudo apt-get install libfontconfig1-dev fontconfig libcap-dev libxtst-dev libxext-dev
sudo apt-get install libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-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 nodejs gyp ninja-build libdrm-dev2.2 QtBase相关依赖
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*
sudo apt-get install xcb* libxcb* libx11* libxkbcommon* libxrender* libxi-dev2.3 QtOpenGL相关依赖
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libegl1-mesa-dev freeglut* libgles* libglew*2.4 QtOpenGL相关依赖
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev libegl1-mesa-dev freeglut* libgles* libglew*备注 上述依赖尽可能安装实际还需根据后面源码编译报错信息根据报错缺少的依赖项进行补充安装
如果安装出现报错可以尝试强制安装
#例如
apt install gperf --fix-missing3.编译源码
sudo tar -xvf qt-everywhere-src-5.14.2.tar.xz -C /opt/
sudo touch auto.sh
sudo chmod 755 auto.sh
sudo vim auto.sh3.1 当前目录下编写一个auto.sh文件,然后根据自己的情况写入如下配置
./configure -prefix /home/book/qt-everywhere-src-5.14.2/arm-qt \
-opensource \
-confirm-license \
-release \
-strip \
-shared \
-optimized-qmake \
-cstd c11 \
--rpathno \
-pch \
-skip qt3d \
-skip qtactiveqt \
-skip qtandroidextras \
-skip qtcanvas3d \
-skip qtconnectivity \
-skip qtdatavis3d \
-skip qtdoc \
-skip qtgamepad \
-skip qtlocation \
-skip qtmacextras \
-skip qtnetworkauth \
-skip qtpurchasing \
-skip qtremoteobjects \
-skip qtscript \
-skip qtscxml \
-skip qtsensors \
-skip qtspeech \
-skip qtsvg \
-skip qttools \
-skip qttranslations \
-skip qtwayland \
-skip qtwinextras \
-skip qtx11extras \
-skip qtxmlpatterns \
-make libs \
-make examples \
-nomake tools -nomake tests \
-gui \
-widgets \
-dbus-runtime \
--glibno \
--iconvno \
--pcreqt \
--zlibqt \
-no-openssl \
--freetypeqt \
--harfbuzzqt \
-no-opengl \
-linuxfb \
--xcbno \
-tslib \
--libpngqt \
--libjpegqt \
--sqliteqt \
-plugin-sql-sqlite \
-I/home/book/tslib/include \
-L/home/book/tslib/lib \
-recheck-all··备注··
参数说明
-xplatform 选择交叉编译时的目标qtbase/mkspecs/目录中目标平台
-prefixQt最终安装到Arm板中的位置
-extprefixPC上交叉编译好的Qt的位置
-hostprefix编译出来给PC用的交叉编译工具存放的位置
-verbose打印配置过程中步骤信息
-opensource编译Qt的开源版本
-confirm-license自动确认许可
-release编译Qt的release版本
-shared构建 Qt 共享库-static 静态库
-make libs编译 lib 组件
-nomake tests不编译 tests组件
-nomake examples不编译 examples 组件
-skip 跳过不需要的模块
-no-opengl: 我在虚拟机下编译opengl模块报错未解决 所以选择不编译3.2执行脚本文件
sudo ./auto.sh
sudo make -j8
sudo make install 4.QtWebEngine编译遇到问题及解决
4.1 build chromium报错
WARNING: C14 support is required in order to build chromium.
WARNING: QtWebEngine will not be built.首先我个人的解决策略是安装一个chromium-browser
sudo apt update
sudo apt install chromium-browser4.2 Qt WebEngine Build Tools 缺失补齐
Qt WebEngine Build Tools:
Use System Ninja ....................... no
Use System Gn .......................... no
Jumbo Build Merge Limit ................ 8
Developer build ........................ no
QtWebEngine required system libraries:
fontconfig ........................... no
dbus ................................. no
nss .................................. no
khr .................................. yes
glibc ................................ yes经过查询并安装需要安装一些系统库才能成功构建 Qt WebEngine 模块。这些系统库通常是 Qt WebEngine 所依赖的外部库缺少其中任何一个都可能导致构建失败。根据输出你需要安装以下系统库: fontconfig 字体配置库用于处理字体相关的任务。dbus D-Bus 是 Linux 桌面应用程序之间进行通信的消息总线系统。nssNetwork Security Services 用于支持网络安全的库。khr 应该是指 Khronos Group 的相关库可能与 OpenGL 或 Vulkan 相关。glibc GNU C 库是 Linux 系统中的标准 C 库。 #确保安装了这些库的开发包以便在构建 Qt WebEngine 时能够找到相应的头文件和链接库。你可以使用你的发行版的包管理器来安装这些库的开发包例如在 Ubuntu 上可以使用 apt 进行安装
sudo apt install libfontconfig1-dev libdbus-1-dev libnss3-dev libgl1-mesa-dev4.3 gperf依赖缺失报错
如有一下报错
sudo apt install gperf
#安装完成之后查看 gperf --version 查看版本信息如果上述依赖问题都解决执行auto.sh脚本编译报依赖缺失请**清除缓存**
4.4 缺少qtlocation.so 错误印象无法编译 #auto.sh 脚本中不能 -skip qtlocation
进入到/opt/qt-everywhere-src-5.14.2/qtlocation/ 目录中, 进行编译qtlocation
sudo make -j8
sudo make install4.5 ld报错 undefined reference to ff_h264_xxx’错误 安装ffmpeg 以及相关依赖
#如果想要添加libwebp ffmpeg opus 等支持还需要运行
sudo apt install libavdevice-dev libavcodec-dev libopus-dev libwebp-dev ffmpeg5. 删除缓存然后重新执行auto.sh 脚本编译
sudo rm config.cache避免反复报没有gperf等依赖错误 如果还报错则将gperf 添加到PATH环境变量中
#我的 gperf 默认安装路径 /usr/bin/gperf
#which gperf 可以查看
export PATH$PATH:/usr/bin/gperf最后 如有描述错误的地方或者网友遇到的坑请评论联系我更正及补充特此将自己个人两天编译遇到的问题分享给大家协助大家更好地部署环境。
参考
【1】./configure参数解释最新版本