环境结构
#QT5源码
git clone git://code.qt.io/qt/qt5.git
#指定分支
git checkout 5.12.8
#开始了
./init-repository -f
1 #平台aarch64 编译工具 如:aarch64-none-linux-gnu-gcc
prebuilts <-此为目录
#挂载为sysroot
mkdir sysroot
sudo mount -o loop ubuntu-base-focal.img sysroot/
sudo mount sysroot/
3 #源码目录
qt5 <-此为目录QT5源码目录
#!/bin/sh
./configure \
-prefix /usr/local/qt5 \
-xplatform linux-aarch64-gnu-g++ \
-opengl es2 \
-device-option CROSS_COMPILE=/wangyonglin/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- \
-sysroot /wangyonglin/rootfs \
-widgets \
-shared \
-qt-zlib \
-qt-libjpeg \
-qt-libpng \
-linuxfb \
-tslib \
-gbm \
-kms \
-egl \
-eglfs \
-qpa eglfs \
-opensource \
-confirm-license \
-optimized-qmake \
-reduce-exports \
-release \
-make libs \
-recheck-all \
-I /wangyonglin/rootfs/usr/local/tslib/include \
-L /wangyonglin/rootfs/usr/local/tslib/lib \
#修改增加opengl
#/home/wangyonglin/Qt/qt5/qtbase/mkspecs/linux-aarch64-gnu-g++/qmake.conf
#
# qmake configuration for building with aarch64-linux-gnu-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
QMAKE_CFALGS_RELEASE += -O2 -march=armv8-a -lts
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv8-a -lts
include(../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.conf
QMAKE_AR = aarch64-linux-gnu-ar cqs
QMAKE_OBJCOPY = aarch64-linux-gnu-objcopy
QMAKE_NM = aarch64-linux-gnu-nm -P
QMAKE_STRIP = aarch64-linux-gnu-strip
QMAKE_INCDIR_OPENGL_ES2 += \
$$[QT_SYSROOT]/usr/include
QMAKE_LIBDIR_OPENGL_ES2 += \
$$[QT_SYSROOT]/usr/lib \
$$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu
QMAKE_LIBS_OPENGL_ES2 = -lEGL -lGLESv2
load(qt_config)