2016-09-08 18 views
0

Mac(OS X 10.11.6)でQscintilla 2.9.3(入手済みhere)をコンパイルしようとしていますが、makeステップが次のエラーで失敗します。Qscintilla make error: "QtでC++ 11のサポートが必要"

主題の他の質問に続いて

/Applications/Xcode.app/Contents/Developer/usr/bin/g++ -c -pipe -O2 -std=gnu++11 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/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_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_MACEXTRAS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I. -I. -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/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/OpenGL.framework/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/AGL.framework/Headers -I/Applications/Utilities/Qt/5.7/clang_64/mkspecs/macx-g++ -F/Applications/Utilities/Qt/5.7/clang_64/lib -o qsciscintilla.o qsciscintilla.cpp
In file included from qsciscintilla.cpp:23:
In file included from ./Qsci/qsciscintilla.h:29:
In file included from /Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/QByteArray:1:
In file included from /Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/qbytearray.h:44:
In file included from /Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/qrefcount.h:43:
In file included from /Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/qatomic.h:41:
In file included from /Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/qglobal.h:1145:
In file included from /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: error:
"Qt requires C++11 support"
# error "Qt requires C++11 support"
^
/Applications/Utilities/Qt/5.7/clang_64/lib/QtCore.framework/Headers/qbasicatomic.h:90:13: error:
unknown type name 'QAtomicOps'
typedef QAtomicOps Ops;

、私は無駄に、qscintilla.proファイルに

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

を追加しました。

このthreadにも同様の問題があるようです。これは、依存関係の-ansiフラグを抑制することで解決され、C++ 11の使用が妨げられました。しかし、私は上記のログにそのような旗が表示されません。

あなたはその問題を引き起こす可能性のあるアイデアはありますか?

私はQMakeバージョン3.0とQt 5.7を持っています。

+1

どのコンパイラを使用していますか、どのバージョンにありますか? – Hayt

+0

上記のログによると、g ++が呼び出されます。 g ++ --versionは次のようになります: --prefix =/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir =/usr/include/C++/4.2.1 Apple LLVMバージョン7.3.0(clang-703.0.31) 対象:x86_64-apple-darwin15.6.0 スレッドモデル:posix –

+0

ここにgccのバージョン番号は表示されません。 '4.2.1'がバージョン番号であればgccにはC++ 11はありません。 – Hayt

答えて

4

私はthis threadで、Macのclang/llvmでC++ 11を使用するために、古いものの代わりに-stdlib = libC++ライブラリを使用する必要があることを発見しましたlibstdC++。

問題は、このよう.PROファイルに

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

を添加することにより解決しました。

関連する問題