000000000000000000000000

news/2024/11/24 13:51:32/

xplatform: 选择交叉编译时的目标 mkspec

prefix :指定 make install 的位置

./configure -release -opensource -confirm-license -xplatform aarch64-linux-gnu-gcc -prefix /opt/aarch64—qt5 -nomake examples -nomake tools -nomake tests -no-opengl

安装编译所依赖的库

安装基础的编译环境

sudo apt-get build-essential qt5-default
sudo apt-get install libxcb-xinerama0-dev
sudo apt-get install build-essential perl python git

Libxcb

sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev

OpenGL

sudo apt-get install build-essential
sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglu1-mesa-dev
sudo apt-get install libegl1-mesa-dev
sudo apt-get install freeglut3-dev

Qt WebKit

sudo apt-get install flex bison gperf libicu-dev libxslt-dev ruby

Qt WebEngine

sudo apt-get install libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libdbus-1-dev libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison

Qt Multimedia

sudo apt-get install libasound2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

QDoc Documentation Generator Tool

sudo apt install libclang-6.0-dev llvm-6.0

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-dev

QtOpenGL相关依赖

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

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-dev

QtBlueTooth相关依赖

sudo apt-get install bluez* bluetooth libbluetooth*

Qtmultimedia相关依赖

sudo apt-get install libwayland-dev

创建自动配置脚本

#!/bin/sh
./configure \
-platform linux-aarch64-gnu-g++ \
-prefix /opt/qt5.12.8_aarch64 \
-confirm-license \
-opensource \
-release \
-shared \
-make libs \
-nomake examples \
-nomake tests \
-dbus \
-opengl \
-pch \
-qt-libjpeg \
-qt-libpng \
-qt-zlib \
-xcb \
-alsa \
-gif \
-gstreamer 1.0 \
-pulseaudio \
-fontconfig \
-system-freetype

编译安装Qt5.15.6 过程中遇到的问题处理集
交叉编译带opengl的qt5.12.0(eglfs-mali 、eglfs-x11)
添加QT支持OpenGL es2和eglfs库的路劲和头文件。 确定文件系统中包含opengl的库。可以在文件系统usr目录下找一下libEGL.so libGLESv2.so这两个库

find .| grep "EGL"
find .| grep "GLESv2"

如果没有找到相应的库。可以通过下面命令安装。

sudo apt-get install libgles2-mesa
sudo apt-get install libgles2-mesa-dev
#
# qmake configuration for building with aarch64-linux-gnu-g++MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublibinclude(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)# modifications to g++.conf
QMAKE_CC                = aarch64-linux-gnu-gcc
QMAKE_CXX               = aarch64-linux-gnu-g++
QMAKE_LINK              = aarch64-linux-gnu-g++
QMAKE_LINK_SHLIB        = aarch64-linux-gnu-g++# modifications to linux.confQMAKE_AR                = aarch64-linux-gnu-ar cqs
QMAKE_OBJCOPY           = aarch64-linux-gnu-objcopy
QMAKE_NM                = aarch64-linux-gnu-nm -P
QMAKE_STRIP             = aarch64-linux-gnu-stripQMAKE_INCDIR_OPENGL_ES2 = $$[QT_SYSROOT]/usr/include
QMAKE_LIBDIR_OPENGL_ES2 = /usr/lib/aarch64-linux-gnuQMAKE_INCDIR_EGL        = $$[QT_SYSROOT]/usr/include
QMAKE_LIBDIR_EGL        = /usr/lib/aarch64-linux-gnuQMAKE_LIBS_EGL         += -lEGL -lGLESv2
QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL
load(qt_config)

http://www.ppmy.cn/news/722777.html

相关文章

【NVMe2.0b 2】NVMe 结构理论

2操作理论 NVM Express 可扩展接口旨在满足使用基于 PCI Express 的固态驱动器或光纤连接设备的存储系统的需求。该接口提供了优化的命令提交和完成路径。它通过支持多达 65,535 个 I/O 队列和每个 I/O 队列多达 64 Ki - 1 个未完成的命令来支持并行操作。此外,还添…

【NVMe2.0b 5】NVM Subsystem

NVM Subsystem 3.2NVM子系统实体3.2.1命名空间3.2.1.1命名空间概述3.2.1.2Valid and Invalid NSIDs3.2.1.3Allocated and Unallocated NSID Types3.2.1.4Active and Inactive NSID Types3.2.1.5NSID and Namespace Relationships3.2.1.7I/O Command Set Associations 3.2.2NVM …

大数据(0b)离线数据仓库

文章目录 1、数据库 & 数据仓库2、OLTP & OLAP3、范式理论4、维度表 & 事实表4.1、维度表4.2、事实表 5、星型模型、雪花模型、星座模型6、数仓分层6.1、命名规范6.2、合并维度表 and 维度缩减(ODS>DIM)6.3、数据处理(ODS>…

【NVMe2.0b 14-8】Set Features(下篇)

Set Features 5.27.1.13Host Controlled Thermal Management (Feature Identifier 10h), (可选)5.27.1.14Non-Operational Power State Config (Feature Identifier 11h), (可选)5.27.1.15Read Recovery Level Config (Feature Identifier 12h)5.27.1.16Predictable Latency Mo…

【NVMe2.0b 13】NVMe 标准数据结构

NVMe 标准数据结构 4数据结构4.1数据布局4.1.1Physical Region Page Entry and List4.1.2Scatter Gather List (SGL)4.1.2.1SGL示例 4.1.3Metadata Region (MR) 4.2Feature值4.3Identifier的格式与布局4.3.1PCI Vendor ID (VID) 和 PCI Subsystem Vendor ID (SSVID)4.3.2Serial…

【NVMe2.0b 9】控制器初始化过程

控制器初始化过程 3.5控制器初始化3.5.1基于内存传输的控制器初始化3.5.2基于消息传输的控制器初始化3.5.3Controller Ready Modes During Initialization3.5.4初始化过程中的Controller Ready Timeouts3.5.4.1Handling Errors During Initialization 3.5控制器初始化 本节介绍…

a + b + c = 0 ?

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a b c 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 给定数组 nums [-1, 0, 1, 2, -1,…

【NVMe2.0b 15】NVMe SR-IOV

NVMe SR-IOV PCIe SR-IOV 系列导航基于 PCIe 的 NVM transport 实施结构关键词定义支持 SR-IOV 的 NVM Subsystem 结构Virtualization EnhancementsVQ Resource 定义VI Resource 定义Secondary Controller 状态与资源配置Single Root I/O Virtualization and Sharing (SR-IOV) …