centos 6.7を実行しているワークステーションでQt 5.6からQt 5.7に移行したいと思います。 Qt 5.6ではすべてがうまくいっていますが、ダウンロードしてインストールした後、Qt 5.7の次の問題に直面しています。Qt 5.7.0とgcc 4.4.7 on centos 6.7
私は、インストールを確認するためにelasticnode例を実行しようとしていますが、私は次のビルドエラーがあります。
cc1plus: error: unrecognized command line option "-std=gnu++11"
このエラーは4.4.7であるとしませんGCCのバージョンに関係していますこのオプションを認識します。 Qt 5.7がC++ 11機能を有効にするために使用するコンパイラフラグは-std=gnu++11
であり、Qt 5.6では-std=gnu++0x
であり、この最後のフラグだけがgccによって認識されます。
elasticnodesの.proファイルには何も設定されていないので、ドキュメントhttp://doc.qt.io/qt-5/qmake-variable-reference.html#configに記載されているようにc + 11がデフォルトで無効になっていると仮定していますが、これは最終的に生成されるgccコマンドラインqmake。
私の質問は、-std=gnu++11
の代わりに-std=gnu++0x
という新しいフラグを削除し、古いフラグを.proファイルに戻す方法です。
私は次の行を追加しようとしています:
CONFIG - = C++ 11
QMAKE_CXXFLAGS + = -std = gnuの++ 0xの
をしかし、私はこのエラーを取得:
/opt/Qt5.7.0/5.7/gcc_64/include/QtCore/qbasicatomic.h:61: error: #error "Qt requires C++11 support"
このフラグを正しく設定する方法を知っている人はいますか?
このような古いコンパイラは5.7でもサポートされていますか? – dtech
http://doc.qt.io/qt-5/supported-platforms.htmlによると、gcc 4.9.1がサポートされていますが、可能であればコンパイラをアップグレードしたくない場合があります – Scab
IIRC少なくとも4.8.xが必要ですそれはソースから構築した場合です。プレビルド・バージョンが古いコンパイラで動作する可能性は非常に低いです。エラーが示すように、C++ 11コンパイラが必要です。 – dtech