參考:
https://stackoverflow.com/questions/43815010/undefined-reference-to-dlsym/48240786#48240786
https://blog.csdn.net/dieju8330/article/details/86743919
https://blog.csdn.net/dieju8330/article/details/86743919
qmake.conf做如下改變
-lEGL -lGLESv2
to
-lbrcmEGL -lbrcmGLESv2
qmake.conf具體配置如下
#
# qmake configuration for building with aarch64-linux-gnu-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
QT_QPA_DEFAULT_PLATFORM = linuxfb
QMAKE_CFLAGS_RELEASE += -O2 -march=armv8-a -lts
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv8-a -lts
# QT_QPA_DEFAULT_PLATFORM = eglfs
Q# MAKE_LIBS += -lrt -lpthread -ldl
QMAKE_INCDIR_OPENGL[_ES2] += \
$$[QT_SYSROOT]/include \
$$[QT_SYSROOT]/include/EGL \
$$[QT_SYSROOT]/include/GLES2 \
$$[QT_SYSROOT]/include/GLES3 \
$$[QT_SYSROOT]/include/KHR \
$$[QT_SYSROOT]/usr/include \
$$[QT_SYSROOT]/usr/include/EGL \
$$[QT_SYSROOT]/usr/include/GLES2 \
$$[QT_SYSROOT]/usr/include/GLES3 \
$$[QT_SYSROOT]/usr/include/KHR
QMAKE_LIBDIR_OPENGL[_ES2] += \
$$[QT_SYSROOT]/lib/aarch64-linux-gnu/mesa-egl \
$$[QT_SYSROOT]/lib/aarch64-linux-gnu/tegra-egl \
$$[QT_SYSROOT]/lib/aarch64-linux-gnu \
$$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu/mesa-egl \
$$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu/tegra-egl \
$$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu
# QMAKE_LIBS_OPENGL[_ES2] += -lEGL -lGLESv2
QMAKE_LIBS_OPENGL[_ES2] += -lbrcmEGL -lbrcmGLESv2
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
load(qt_config)
configure腳本如下:
./configure \
-prefix ../Qt5.10.0_aarch64 \
-v \
-sysroot ../aarch64lib3 \
-confirm-license \
-opensource \
-shared \
-release \
-make libs \
-xplatform linux-aarch64-gnu-g++ \
-optimized-qmake \
-pch \
-iconv \
-dbus \
-qt-xcb \
-qt-libjpeg \
-qt-libpng \
-qreal float \
-qt-zlib \
-opengl es2 \
-no-sse2 \
-no-openssl \
-no-cups \
-no-glib \
-no-separate-debug-info \
-nomake examples -nomake tools -nomake tests \
-no-sql-sqlite \
-qreal double \
-widgets -xkb \
-qpa eglfs \
-recheck-all