arm架构银河麒麟5.4.18编译安装Qt6.9

依赖库预装

请参考其他文献。

编译命令

 ../qt-everywhere-src-6.9.3/configure  \
   -cmake-generator "Unix Makefiles" \  #使用make编译,默认为ninja,如编译失败,可卸载ninja-build
   -top-level    \ #表示构建整个 Qt 源码树(多个模块)
   -prefix /home/lenovo/opt/Qt6/6.9     \ #安装路径
   -release     \  #make编译只能是release或debug,而ninja可同时编译两套库
   -opensource     \ #使用开源协议(LGPLv3)
   -confirm-license     \ #自动确认开源协议(避免交互)
   -qt-zlib     \  #使用qt自带zlib而非系统动态库,内嵌版本更稳定,提高兼容性和性能。
   -qt-libpng     \ # 同zlib
   -qt-libjpeg     \ #同zlib
   -qt-sqlite     \  #同zlib
   -nomake examples     \ #不编译示例
   -nomake tests     \ #不会编译测试用例
   -no-framework     \  #在非 macOS 平台无影响,在 Linux 上可忽略
   -skip qtwebengine     \ #WebEngine 基于 Chromium,极其庞大,编译可能需要 10GB+ 内存、数小时。除非你需要浏览器功能,否则强烈建议跳过。
   -skip qt3d     \  #可选:3D 图形模块,依赖 OpenGL/Vulkan,编译复杂。如果你不做 3D 开发,可以跳过。
   -skip qtwayland     \ #Wayland 是 Linux 新一代显示服务器。如果你只在 X11 下运行,可跳过。
   -no-openssl     \ #不链接系统 OpenSSL 库。Qt Network 模块将使用内置的弱加密
   -optimize-size     \ #使用 -Os 编译选项(而非 -O2),牺牲少量性能换取更小的二进制文件。适合嵌入式或分发场景。
   -static-runtime \ #在 Windows 上,会静态链接 MSVCRT(如 libcmt),避免目标机器缺少 VC++ 运行库。在 Linux 上影响较小(通常忽略)。
   -no-icu  #不需要高级国际化,可禁用libicu-dev

编译

make -j8
make install

配置环境变量

export QTDIR=/home/lenovo/opt/Qt6/6.9

export PATH=$QTDIR/bin:$PATH

export MANPATH=$QTDIR/man:$MANPATH

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐