0

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/ 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_MACEXTRAS_LIB_ -DQT_MACEXTRAS_LIB_ -DQT_MACEXTRAS_LIB -私。-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 を使用しています。

4

1 に答える 1

4

使用されているコンパイラに関する上記のコメントのおかげで、このスレッドで、Mac で clang/llvm で c++11 を使用するには、古い libstdc++ の代わりにライブラリ -stdlib=libc++ も使用する必要があることがわかりました。

したがって、問題は追加することで解決されました

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

.pro ファイルに。

于 2016-09-12T16:09:42.060 に答える