报错内容:root@41445bc4c09f:/home/qt-everywhere-src-5.12.8# ./configure -release -opensource -confirm-license -xplatform linux-aarch64-bst-linux-g++ -prefix /home/qt5.12.8-aarch64-bst -hostprefix /opt/qt5.12.8-host -sysroot /opt/bstos/linux-23/sysroots/aarch64-bst-linux -no-xcb -no-glib -sql-sqlite -opengl es2 -eglfs -icu -dbus -openssl -gstreamer -alsa -pulseaudio -shared -c++std c++1z
-
cd qtbase
-
/home/qt-everywhere-src-5.12.8/qtbase/configure -top-level -release -opensource -confirm-license -xplatform linux-aarch64-bst-linux-g++ -prefix /home/qt5.12.8-aarch64-bst -hostprefix /opt/qt5.12.8-host -sysroot /opt/bstos/linux-23/sysroots/aarch64-bst-linux -no-xcb -no-glib -sql-sqlite -opengl es2 -eglfs -icu -dbus -openssl -gstreamer -alsa -pulseaudio -shared -c++std c++1z
/home/qt-everywhere-src-5.12.8/qtbase/configure: 1: /home/qt-everywhere-src-5.12.8/qtbase**/configure: cannot open /home/qt-everywhere-src-5.12.8/qtbase/.qmake.conf: No such file
Cannot process version from .qmake.conf
Cannot proceed.**
第一次编译没有遇到这个情况,第二次源码删了重新编译遇到这个情况了
解决: 在源码根目录下创建俩空文件 touch .qmake.stash .qmake.super 该问题即可解决。
配置了交叉编译文件的环境变量(不知道有没有用)
export PATH=/opt/bstos/linux-23/sysroots/x86_64-bstsdk-linux/usr/bin/aarch64-bst-linux:$PATH
备份qmake.conf:
root@41445bc4c09f:/home/qt-everywhere-src-5.12.8# cat qtbase/mkspecs/linux-aarch64-bst-linux-gcc/qmake.conf
qmake configuration for aarch64 BST Linux (cross-compile)
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
Include base configurations (DO NOT override host toolchain here)
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
--- ONLY override TARGET toolchain ---
QMAKE_CC = aarch64-bst-linux-gcc
QMAKE_CXX = aarch64-bst-linux-g++
QMAKE_LINK = aarch64-bst-linux-g++
QMAKE_LINK_SHLIB = aarch64-bst-linux-g++
QMAKE_AR = aarch64-bst-linux-ar cqs
QMAKE_OBJCOPY = aarch64-bst-linux-objcopy
QMAKE_NM = aarch64-bst-linux-nm -P
QMAKE_STRIP = aarch64-bst-linux-strip
QMAKE_SYSROOT = /opt/bstos/linux-23/sysroots/aarch64-bst-linux
load(qt_config)
强制添加qglobal.h的头文件路径(核心修复)
INCLUDEPATH += /home/qt-everywhere-src-5.12.8/qtbase/src/corelib/global
INCLUDEPATH += /home/qt-everywhere-src-5.12.8/qtbase/include
INCLUDEPATH += /home/qt-everywhere-src-5.12.8/qtbase/include/QtCore
确保编译器能找到依赖的库路径
LIBS += -L/opt/bstos/linux-23/sysroots/aarch64-bst-linux/usr/lib