使用韦东山的STM32MP157 PRO板子然后,交叉编译QT源码时,使用arm-buildroot-linux-gnueabihf-g++、arm-buildroot-linux-gnueabihf-gcc工具链,配置好autoConfigure.sh、qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf如下图所示,然后./autoConfigure.sh后就报错:如下图所示,打开对应的cpp后,头文件也都有,实在是找不到原因了,求帮助(韦东山板子移植qt的教程也没出,交流群问也没技术支持回答)
报错信息:
qfilesystemengine_unix.o: In function `qt_real_statx(int, char const*, int, statx*)':
/home/book/qt/qt-everywhere-src-5.14.2/qtbase/src/corelib/io/qfilesystemengine_unix.cpp:311: undefined reference to `statx'
qfilesystemengine_unix.o: In function `QFileSystemEngine::renameFile(QFileSystemEntry const&, QFileSystemEntry const&, QSystemError&)':
/home/book/qt/qt-everywhere-src-5.14.2/qtbase/src/corelib/io/qfilesystemengine_unix.cpp:1228: undefined reference to `renameat2'
collect2: error: ld returned 1 exit status
Makefile:192: recipe for target '../bin/qmake' failed
make: *** [../bin/qmake] Error 1
qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf
#
# qmake configuration for building with arm-linux-gnueabi-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
# modifications to g++.conf
QMAKE_CC = arm-buildroot-linux-gnueabihf-gcc-8.4.0
QMAKE_CXX = arm-buildroot-linux-gnueabihf-g++
QMAKE_LINK = arm-buildroot-linux-gnueabihf-g++
QMAKE_LINK_SHLIB = arm-buildroot-linux-gnueabihf-g++
# modifications to linux.conf
QMAKE_AR = arm-buildroot-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = arm-buildroot-linux-gnueabihf-objcopy
QMAKE_NM = arm-buildroot-linux-gnueabihf-nm -P
QMAKE_STRIP = arm-buildroot-linux-gnueabihf-strip
load(qt_config)
**autoConfigure.sh**
#! /bin/sh
./configure \
-v \
-prefix /opt/qt-5.14.2 \
-release \
-opensource \
-no-accessibility \
-make libs \
-xplatform arm-buildroot-linux-gnueabihf-gcc-8.4.0 \
-optimized-qmake \
-pch \
-qt-zlib \
-qt-freetype \
-tslib \
-skip qtlocation \
-no-iconv \
-no-opengl \
-no-sse2 \
-no-openssl \
-no-cups \
-no-glib \
-no-pkg-config \
-no-separate-debug-info \
-I/opt/tslib1.22/include -L/opt/tslib1.22/lib