QT 交叉编译(OpenGL)undefined reference to `dlsym'解决方案

参考:

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 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值