交叉编译Qt库,执行./configure时报错fatal error: gnu/stubs-soft.h: 没有那个文件或目录
五里之南 2020-06-29 09:42:09 交叉编译环境:
使用的ti官网的环境包:ti-processor-sdk-linux-am57xx-evm-03.01.00.06
使用命令:source ti-processor-sdk-linux-am57xx-evm-03.01.0.06/linux-devkit/environment-setup屏蔽掉了关于Qt的环境变量设置。
编译命令:
./configure \
-prefix ../arm-qt-output \
-opensource \
-release \
-confirm-license \
-xplatform linux-arm-gnueabihf-g++ \
-shared \
-no-opengl \
遇到的问题:
在网上查找的资料说设置-mfloat-abi=hard就可以了。
我看到在environment-setup文件中有:
export CPPFLAGS=" -march=armv7-a -marm -mfpu=neon -mfloat-abi=hard --sysroot=$SDK_PATH_TARGET"
export CFLAGS="$CPPFLAGS"
这两个环境变量,但是好像没有起作用。依然会报这个错误。(注:使用sudo去执行configure命令会通过,但是又会报出来STL的错误,怀疑是环境哪里没设置好,但是好像又没有问题。)
qt的qmake针对当前的环境做了修改,设置如下:
#
# qmake configuration for building with arm-linux-gnueabihf-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-linux-gnueabihf-gcc -mfloat-abi=hard"
QMAKE_CXX = arm-linux-gnueabihf-g++
QMAKE_LINK = arm-linux-gnueabihf-g++
QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++
# modifications to linux.conf
QMAKE_AR = arm-linux-gnueabihf-ar cqs
QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
QMAKE_NM = arm-linux-gnueabihf-nm -P
QMAKE_STRIP = arm-linux-gnueabihf-strip
load(qt_config)
有人能帮忙看看是什么问题吗?困扰很久了,谢谢各位大佬了!