Qt 不能使用C++;11英寸夸脱

Qt 不能使用C++;11英寸夸脱,qt,c++11,Qt,C++11,自Qt5.7以来,必须支持C++11。出于某种原因,一个大型的旧项目不接受C++11参数。我是否使用“CONFIG+=c++11”或任何其他选项都无关紧要;C++11唯一的功能不起作用,因此我无法编译该项目 C:\QtE\5.7\android\u armv7\include\QtCore\qbasicatomic.h:61:错误: 错误“Qt需要C++11支持” ^ 如果在.pro文件中使用“CONFIG+=c++11”,则编译器参数确实包含“-std=c++11-std=c++0x”。目标平

自Qt5.7以来,必须支持C++11。出于某种原因,一个大型的旧项目不接受C++11参数。我是否使用“CONFIG+=c++11”或任何其他选项都无关紧要;C++11唯一的功能不起作用,因此我无法编译该项目

C:\QtE\5.7\android\u armv7\include\QtCore\qbasicatomic.h:61:错误: 错误“Qt需要C++11支持” ^

如果在.pro文件中使用“CONFIG+=c++11”,则编译器参数确实包含“-std=c++11-std=c++0x”。目标平台是安卓ArmV7。使用SDK R24和NDK R10E

C:\SDKs\Android\Android-ndk-r10e/toolschains/arm-linux-androideabi-4.9/prebuild/windows/bin/arm-linux-androideabi-g++-C-Wno-psabi-march=armv7-a-mfloat-abi=softfp-mfpu=vfp-ffunction sections-funwind tables-fstack protector-fno short enum-DANDROID-Wa,--noexecstack-fno内置memmove-std=c++11-fPIC-ansi-fppermission-finline函数-Wno long-g-g-marm-O0-fno省略框架指针-O2-Wall-Wno psabi-W-D_REENTRANT-fPIC-DPJ_IS_LITTLE_ENDIAN=1-DPJ_IS_BIG_ENDIAN=0-DQZXING_ICONV_CONST-addable_LIBRARY_特征-DNOFMAXL-DBOTAN_DLL=decu-这是一个关于目标的网站。它的目标是它的目标。它的使用时间已经过去了一天——时间——时间——时间——时间——时间——时间——时间——时间——时间——时间——时间——时间——时间——时间——时间——时间——时间——数字——时间——时间——时间——时间——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——随机——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——数字——uDLOPEN-DBOTAN_目标_操作系统_拥有_GMTIME_R-DBOTAN_目标_操作系统_拥有_POSIX_MLOCK-DBOTAN_拥有_动态加载_引擎-DBOTAN_拥有_动态加载程序-DBOTAN_构建_编译器_是_GCC-DQT_QML _调试-DQT快速小部件_小部件_LIB-DQT _快速_ _ _(LIB-DQT)多媒体(DQT)GUI LIB)DQT)LIB-DQT_ANDROIDEXTRAS_LIB-DQT_CORE_LIB

任何想法都是受欢迎的:)

根据s公认的答案,它说
CONFIG+=c++11
需要Qt5。您确定正在使用Qt 5吗

此外,它还表示,如果使用gcc/clang,则应使用
QMAKE\u CXXFLAGS+=-std=c++11
(或
QMAKE\u cxflags+=-std=c++0x


因为您正在构建一个android项目,所以它将使用gcc。将
CONFIG+=c++11
更改为
QMAKE_CXXFLAGS+=-std=c++11
,并告诉我发生了什么。

一个.pri子项目使用了参数“-ansi”,它相当于“-std=c++98”。这会阻止使用C++11进行编译


感谢OkTalistAdvor的注释:

你是否尝试过用C++来“C”?我读过的所有文档都有这样的,如果我记得正确的话,QT不是编译器,它是C++编译器,它决定了它是编译C++ 98还是C++ +11,如果在编译器命令行中有<代码> -STD= C++ 11/代码>,QGOST部分应该正确工作。也许编译器太老了,不懂C++11?是哪一个?NDK10E显然包括GCC4.8编译器,它肯定支持C++11。我怀疑问题在于
-ansi
选项。根据GCC手册,这相当于
-std=c++98
。当然我使用的是Qt5。“QMAKE_cxflags+=-std=c++11”和“QMAKE_cxflags+=-std=c++0x”的错误相同。“C:\QtE\5.7\android\u armv7\include/QtCore/qbasicatomic.h:61:4:error:#error”Qt需要C++11支持“那么您的确切版本是什么?您会尝试添加
QMAKE\u LFLAGS+=-std=C++11
,还是将
QMAKE\u cxflags+=-std=C++11
更改为
gcc:QMAKE\u cxflags+=-std=C++11
。”,对不起,迟了答复。全部试用,结果相同“Qt需要C++11支持”