Qscintilla产生错误:“ Qt需要C ++ 11支持”

不要惊慌

我正在尝试在Mac(OS X 10.11.6)上编译Qscintilla 2.9.3(在此处获得),但是make步骤失败,并出现以下错误:

/Applications/Xcode.app/Contents/Developer/usr/bin/g++ -c -pipe -O2 -std = gnu ++ 11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/ SDK / MacOSX10.11.sdk -mmacosx-version-min = 10.8 -fvisibility = hidden -fvisibility-inlines-hidden -w -fPIC -DQSCINTILLA_MAKE_DLL -DSCINTILLA_QT -DSCI_LEXER -DQT_NO_DEBUG -DQT_BQT_BQT_B_TQB_LI_BLI -一世。-I ../ include -I ../ lexlib -I ../ src -I / Applications / Utilities / Qt / 5.7 / clang_64 / lib / QtPrintSupport.framework / Headers -I / Applications / Utilities / Qt / 5.7 / clang_64 /lib/QtWidgets.framework/Headers -I / Applications / Utilities / Qt / 5.7 / clang_64 / lib / QtMacExtras.framework / Headers -I / Applications / Utilities / Qt / 5.7 / clang_64 / lib / QtGui.framework / Headers -I /Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers -I。-I /应用程序/ Xcode。
在qsciscintilla.cpp中包含的文件中:23:
./Qsci/qsciscintilla.h中包含的文件中:29:
/Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/QByteArray:1中包含的文件中:
在/Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/qbytearray.h:44中
包含的文件中在/Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework中包含的文件中/Headers/qrefcount.h:43:
在/Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/qatomic.h中包含的文件:41:在/Applications/Utilities/Qt/5.7中
包含的文件中/clang_64/lib/QtCore.framework/Headers/qglobal.h:1145:
在/Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/qatomic.h:46中包含的文件中:
/Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/qbasicatomic.h:61:4:错误:
“ Qt需要C ++ 11支持”
#错误“ Qt需要C ++ 11支持”
^
/Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/qbasicatomic.h:90:13:错误:
未知类型名称'QAtomicOps'typedef
QAtomicOps Ops;

在关于这个问题的其他问题之后,我添加了

\# With C++11 support  
greaterThan(QT_MAJOR_VERSION, 4){      
CONFIG += c++11  
} else {  
QMAKE_CXXFLAGS += -std=c++0x  
}  

在qscintilla.pro文件中,无济于事。

线程似乎显示了类似的问题。通过抑制-ansi依赖项中标志来解决此问题,这阻止了c ++ 11的使用。但是我在上面的日志中看不到这样的标志。

您是否知道可能导致该问题的原因?

我有QMake版本3.0和Qt 5.7。

不要惊慌

由于上面有关所用编译器的评论,我在此线程上发现,为了在Mac上将c ++ 11与clang / llvm一起使用,还必须使用-stdlib = libc ++库,而不是旧的libstdc ++。

因此,通过添加解决了该问题。

QMAKE_LFLAGS += -stdlib=libc++
QMAKE_CXXFLAGS += -stdlib=libc++

到.pro文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章