20

VS 2010 を使用してQt Creator 2.8 / Qt5.1でプロジェクトをコンパイルすると、すべて問題ありません。MinGW で同じことをすると、次のエラーが発生します。

 error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.

C+11 を有効にする必要があることは理解していCONFIG += console c++11ますが、.pro ファイルに含まれています。これは必要なことではありませんか?私は何を間違っていますか?

メイクを見ると、次のように表示されます。

CXXFLAGS      = -pipe -fno-keep-inline-dllexport -g -std=c++0x

私がproファイルでc ++ 11と言っているように、紛らわしいです。

  1. 最初からすべてを削除し、実行qmakeなどを行いましたが、結果はありません
  2. 言ったように、VS2010では動作します
  3. ここから gcc 4.8.0 で MinGW を使用します。http://qt-project.org/downloads
  4. これが問題なら、Win7 32

チェック済み:

解決策が見つかりましたが、しばらくの間しか受け入れられません: https://stackoverflow.com/a/19530028/356726

4

4 に答える 4

9

mkspecs/win32-g++/qmake.conf次の行を変更してみてください。

QMAKE_CXXFLAGS_CXX11    = -std=c++0x

に:

QMAKE_CXXFLAGS_CXX11    = -std=c++11

qmakeを再実行します。


いくつかの追加の詳細:

「c++11」機能をCONFIGqmake 変数に追加すると、ファイルが取り込まれます (詳細については、 qmake の高度な使用方法mkspecs/features/c++11.prfに関するドキュメントの「新しい構成機能の追加」セクションを参照してください)。

そのqmakeプロファイルには、QMAKE_CXXFLAGS += $$QMAKE_CXXFLAGS_CXX11C++ 11サポートを構成する行があります。したがって、コメントで述べたように、「c++11」をCONFIG変数に追加することは、qmakeにc++11のサポートが必要であることを示す適切な方法です。

于 2013-10-22T18:09:58.953 に答える
7

Qt Creator 2.7.2 を使用しており、.pro ファイルに次の行があります。

QMAKE_CXXFLAGS += -std=c++11

これはうまくいきますか?

于 2013-10-22T16:34:04.290 に答える