具体操作步骤是这样的
第一步:下载QT源码(5.12.5),并解压
第二步:通过rsync传输目标机的sysroot
第三步:进入源码目录,配置configure文件
第四步:进入源码目录,进入qtbase目录,进入mkespcs目录,进入linux-aarch64-gnu-g++目录,修改qmake.conf:
第五步:运行脚本,然后出现提示 ’make’
第六步:编译
当qmake.conf改成下面这样的时候,configure都无法完成
[image: 99807b2b-90a4-4aba-9cc4-ad01fa5782a6.png]
用原本的qmake.conf就可以配置成功
[image: 8d116342-bc0a-4b7a-a0ae-e2d88042fafa.png]
最后编译报错:
gnu-g++ -o .obj/moc_qmlpreviewfilesystemwatcher.o .moc/moc_qmlpreviewfilesystemwatcher.cpp
/usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /home/hambes/qt-aarch64-build/qt-everywhere-src-5.15.2/qtbase/lib/libQt5Core.so: undefined reference to dlerror@GLIBC_2.17' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /home/hambes/qt-aarch64-build/qt-everywhere-src-5.15.2/qtbase/lib/libQt5Core.so: undefined reference to dlsym@GLIBC_2.17'
/usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /home/hambes/qt-aarch64-build/qt-everywhere-src-5.15.2/qtbase/lib/libQt5Core.so: undefined reference to dladdr@GLIBC_2.17' /usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /home/hambes/qt-aarch64-build/qt-everywhere-src-5.15.2/qtbase/lib/libQt5Core.so: undefined reference to dlclose@GLIBC_2.17'
/usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /home/hambes/qt-aarch64-build/qt-everywhere-src-5.15.2/qtbase/lib/libQt5Core.so: undefined reference to `dlopen@GLIBC_2.17'
collect2: error: ld returned 1 exit status
make[3]: *** [Makefile:119:../../bin/qmltestrunner] 错误 1
make[3]: 离开目录“/home/hambes/qt-aarch64-build/qt-everywhere-src-5.15.2/qtdeclarative/tools/qmltestrunner”
make[2]: *** [Makefile:359:sub-qmltestrunner-make_first] 错误 2
make[2]: *** 正在等待未完成的任务....
兄弟们,我哪里搞错了😭😭😭😭