在移植Qt之后,运行测试程序报错,发生在lib/libQt5Gui.so.5
如果针对Qt自身的库文件添加GDB调试信息呢?
如下验证有效:
framework\qt\qt-everywhere-src-5.12.5\qtbase\mkspecs\linux-aarch64-gnu-g++\qmake.conf
添加QMAKE_CFLAGS +=-g QMAKE_CXXFLAGS +=-g
# 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++
QMAKE_CFLAGS +=-g
QMAKE_CXXFLAGS +=-g
重新编译Qt库
aarch64-linux-gnu-g++ -c -pipe -g --sysroot=/home/yuanguochao/other/t5_bak/longan/out/t507/demo2.0/longan/buildroot/host/usr/aarch64-buildroot-linux-gnu/sysroot -O2 -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I…/…/…/include -I…/…/…/include/QtWidgets -I…/…/…/include/QtGui -I…/…/…/include/QtCore -I.moc -I…/…/…/mkspecs/linux-aarch64-gnu-g++ -o .obj/moc_mainwidget.o .moc/moc_mainwidget.cpp
aarch64-linux-gnu-g++ --sysroot=/home/yuanguochao/other/t5_bak/longan/out/t507/demo2.0/longan/buildroot/host/usr/aarch64-buildroot-linux-gnu/sysroot -Wl,-O1 -Wl,–enable-new-dtags -Wl,-z,origin -Wl,-rpath,$ORIGIN/…/…/…/lib -Wl,-rpath,/usr/lib -o cube .obj/main.o .obj/mainwidget.o .obj/geometryengine.o .obj/qrc_shaders.o .obj/qrc_textures.o .obj/moc_mainwidget.o /home/yuanguochao/other/t5_bak/longan/platform/framework/qt/qt-everywhere-src-5.12.5/qtbase/lib/libQt5Widgets.so /home/yuanguochao/other/t5_bak/longan/platform/framework/qt/qt-everywhere-src-5.12.5/qtbase/lib/libQt5Gui.so /home/yuanguochao/other/t5_bak/longan/platform/framework/qt/qt-everywhere-src-5.12.5/qtbase/lib/libQt5Core.so /home/yuanguochao/other/t5_bak/longan/out/t507/demo2.0/longan/buildroot/host/usr/aarch64-buildroot-linux-gnu/sysroot/lib64/libGLESv2.so -lpthread
可以看到编译时增加了“-g”的选项。
对比,没添加-g之前库文件大小:
-rwxr-xr-x 1 yuanguochao yuanguochao 6.5M 12月 24 16:07 libQt5Gui.so.5.12.5*
添加-g之后库文件大小:
-rwxrwxr-x 1 yuanguochao yuanguochao 108M 12月 25 16:22 libQt5Gui.so.5.12.5*
推送该文件到目标平台即可。