Other Parts Discussed in Thread: AM1808
工具/软件:Linux
您好!
我有一个在 AM1808上运行的硬件、将 Linux 安装为操作系统。 在开发过程中、我使用 QT 创建 程序构建基于 GUI 的应用程序、该应用程序使用 qt 4.7.4编译器以及 ARM 工具链来构建应用程序并将其安装在此处理器上。 该处理器在使用工具链 arm2012.03和 gcc 版本4.6.3的 ARM Linux 内核2.6.37上运行
现在、我需要使用相同的工具链更新 qt 5.7或更高版本的编译器版本。 以下是我从中获取此内容的下载链接...
我已成功下载它、现在需要根据当前工具链进行配置。 为此、我更新了 qmake.Cong、如下所示、
# # 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-linux-gnueabi-gcc //QMAKE_CXX = arm-linux-gnueabi-g++ //QMAKE_LINK = arm-linux-gnueabi-g++ //QMAKE_LINK_SHLIB = arm-linux-gnueabi-g++ // modifications to linux.conf //QMAKE_AR = arm-linux-gnueabi-ar cqs //QMAKE_OBJCOPY = arm-linux-gnueabi-objcopy //QMAKE_NM = arm-linux-gnueabi-nm -P //QMAKE_STRIP = arm-linux-gnueabi-strip QMAKE_CC = arm-none-linux-gnueabi-gcc QMAKE_CXX = arm-none-linux-gnueabi-g++ QMAKE_LINK = arm-none-linux-gnueabi-g++ QMAKE_LINK_SHLIB = arm-none-linux-gnueabi-g++ QMAKE_AR = arm-none-linux-gnueabi-ar cqs QMAKE_OBJCOPY = arm-none-linux-gnueabi-objcopy QMAKE_STRIP = arm-none-linux-gnueabi-strip load(qt_config)
来编译我使用的这个版本
./configure -opensource -confirme-license -prefix /usr/local/Qt5 -no-pch -xplatform linux-arm-gnueabi-g++
这取决于我们当前的工具链和可用的 gcc 版本。 我在旧的 qt 安装过程中使用的类似命令。
但我们发现了以下错误、
系统架构:"ARM"主机架构:"i386" arm-none-linux-gnueabi-g++-c -fvisibility=hidden fvisibility.c 启用符号可见性控制。
cc1plus:错误:无法识别的命令行选项'-fuser-ld=gold' arm-no-linux-gnueabi-g++-o libtest.so -shared -WL、-Bsymbolic-functions -FPIC Blsymbol_functions.c Blsymbol_functions.c:2:2:错误:#ERROR:"此体系结构上的符号函数绑定可能会中断、请参阅禁用 TBQ36129 (请参阅 TBIG-UG-UG-UG)。
禁用符号函数绑定。 正在检查 C++ 14...
arm-no-linux-gnueabi-g++-c -pipe -O2 -std=GNU+1y -Wall -W -FPIC -I. i../../../mkspecs/linux-arm-gnueabi-g ++-o c++14.o c++14.cpp
cc1plus:错误:无法识别的命令行选项'-std=GNU+1y' make:***[c++14.o]错误1.
C++14禁用。
正在检查默认 C++标准版本... arm-none-linux-gnueabi-g++-pipe -O2 -Wall -W -FPIC -I. i../../../mkspecs/linux-arm-gnueabi-g ++-o c++default.ii -E c++default.cpp
启用默认 C++标准版本。
正在检查64位标准::原子... arm-none-linux-gnueabi-g++-c -pipe -O2 -std=GNU++11 -Wall -W -FPIC -I. i../../../mkspecs/linux-arm-gnueabi-g ++-o atomic64.o atomic64.cpp
cc1plus:错误:无法识别的命令行选项'-std=GNU+11'
制造:***[atomic64.o]错误1.
64位 std::原子禁用。
正在检查64位标准::-latomic...中的原子 arm-none-linux-gnueabi-g++-c -pipe -O2 -std=GNU++11 -Wall -W -FPIC -I. i../../../mkspecs/linux-arm-gnueabi-g ++-o atomic64.o atomic64.cpp
cc1plus:错误:无法识别的命令行选项'-std=GNU+11'
制造:***[atomic64.o]错误1.
64位 std::-latomic 中的原子被禁用。
正在检查 std::函数指针的原子函数... arm-none-linux-gnueabi-g++-c -pipe -O2 -std=GNU++11 -Wall -W -FPIC -I. i../../../mkspecs/linux-arm-gnueabi-g ++-o atomicfptr.o atomicfptr.cpp cc1plus:错误:无法识别的命令行选项'-std=GNU++11'
make:***[atomicfptr .o]错误1
std::禁用函数指针的原子函数。
错误:检测到函数指针失败的 std::原子实现。
请应用与/opt/qt-everywhere-opensource-src-5.7.1/qtbase/config.tests/common/atomicfptr 中的标准库供应商相对应的补丁
那么、这就是我找到的内容。 是否有人可以建议我解决此问题的方法?