Eclipse NeonでC + 11コードを開発していますが、今日、C + 11で導入されたループに基づく範囲がIDEによって認識されないことを示す赤で強調表示されています。
このような古いバージョンのCDTでこれを行う方法について複数のリンクを見つけました( Eclipse CDT C++ 11/C++ 0x support )「ツール設定」はありませんが、確認できます。タブ。
誰かが私のプロジェクトを設定してC++ 11構文が正しく強調表示されるようにする方法を提案できますか(私は別のビルドシステムを使用しています)
次のようになります。
${COMMAND} -E -P -v -dD "${INPUTS}" -std=c++11
次のこともできます
あるいは、
私が理解できない理由で、Fedora 27で実行しているEclispe Oxygen + CDT 9.3.2がコードを確実にデバッグできなかった理由の手がかりを検索するとき、Googleはこの質問/回答を注目すべきものとして提示しました。
基本的に私の問題は、C++ 11の機能(特にshared_ptr)を使用する非常に単純なC++プログラムが、Fedora 27(gdbバージョン8.0.1がインストールされている)の上にあるEclipse Oxygen 2 + CDT 9.3.2でデバッグできないことです。標準パッケージリポジトリ)。いくつかのメソッド呼び出しにステップインすると、ハングしたデバッグセッションが発生し、何も実行されず、Eclipseを終了して回復しました。
コマンドラインでgdbを使用してバイナリをデバッグした場合、すべて正常でした。ブレークポイントなどを設定でき、すべてが正常に機能しました。しかし、Eclipseの内部からは何もしていません。
ただし、Andreasが示すように、-std = c ++ 11をプロジェクト設定に含めることで問題は解決しました。理由はほとんどわかりません。他の誰かが同様の問題に遭遇した場合に備えて、これを立てると思った。
g ++はバージョン7.2.1です
何らかの理由で、グローバルなc ++コンパイラ設定の編集が機能しませんでした。指示に従ってプロジェクト固有の設定を変更すると機能しました。参照: Eclipse CDT C++ 11/C++ 0x support