2016-05-01 9 views
3

私はDebian JessieのClangでQt5を使用しています。警告: 'auto'タイプ指定子はC++ 11拡張です[-WC++ 11-extensions]

CONFIG += c++14 

や建物の後に私が得た:一般的なラムダを試すために、.PROファイルであり

QMAKE_CXXFLAGS += -Wc++11-extensions 

warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions] 

は、私がやったこの明白なメッセージを取り除くために

しかし、私は明らかなメッセージを得ています。どうして?それを隠すには?

+0

重複しない。もう1つの質問は、Qt CreatorでC++ 14を有効にする方法です。これは 'CONFIG + = C++ 14'(Windowsでテスト済み、うまく動作します)です。 – KcFnMi

+0

通常、この警告は、pre-C++ 11モードの場合にのみ有効になるので、CONFIGオプションが実際に動作していないと思われます。 –

答えて

7

ご希望の場合はQMAKE_CXXFLAGS += -Wno-c++11-extensionsと思われます。

clang compiler documentation

適切な部分:

-Wfoo:警告fooを有効にします。

-Wno-foo:警告fooを無効にします。 qmakeののリポジトリの歴史によると、CONFIG += c++14スタンザはqmakeのバージョン5.4で追加されました

+0

答えの参照はありますか?私はここで何の効果も見ません。 – KcFnMi

+0

私の経験では、警告を抑制するために 'no'を入れる必要があります。 – Jfevold

+0

Youtは '-'を忘れました。' -Wno-C++ 11-extensions'はそれを行います。 – KcFnMi

9

https://codereview.qt-project.org/#/c/87831/

しかし、Debianジェシーが唯一の回避策としてqmakeのバージョン5.3(https://packages.debian.org/jessie/qt5-qmake

を持っているようで、あなた

QMAKE_CXXFLAGS += -std=c++14 

または

を使用することができます
QMAKE_CXXFLAGS += -std=gnu++14 
+0

QMAKE_CXXFLAGS + = -std = C++ 1y'もここで動作します(Jessie)。あなたはポイントに直接行きました。面白いことに、私が 'CONFIG + = C++ 14 'を使っているWindowsでは、"代替 "スタンザのいずれかに置き換えることはできません – KcFnMi

関連する問題