Indigo から切り替えた後、Ubuntu 12.04 の最新の Eclipse Juno でさまざまな問題に直面しています。
以下のフラグを設定しました:
プロジェクト -> プロパティ -> C/C++ ビルド -> 設定 -> ツール設定 -> Cross G++ コンパイラ
- -> その他:
-std=c++11
- -> プリプロセッサ:
__GXX_EXPERIMENTAL_CXX0X__
(C/C++ 一般 -> パスとシンボルでも設定)
現在、C++03 で問題なくコンパイルできていたコードを Indigo でコンパイルしています。C++11 に変更した後、おそらく g++ 拡張が原因であるいくつかのエラーが発生しましたが、それらを修正しました。
今ここに私が修正したい問題があります:
- 通常の C++ コンパイルに戻すと、1 つのエラーが表示されます:
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.
from the filec++0x_warning.h
. クリーンビルドやEclipseを再起動してもエラーは消えません。 - デバッグが期待どおりに機能しません。実行は特定のブレーク ポイントで停止しますが、マウスを変数の上に置いても値が表示されません。Indigo では、以前はそれを示していました。Eclipse のさまざまな設定で試行錯誤を繰り返しましたが、うまくいきませんでした。また、ウィンドウ -> 設定 -> C/C++ -> ホバーをチェックしましたが、何も変更できません。
- インクルード
<unrodered_map>
は正常に機能しますが、std::unordered_map<>
使用するとエラーが発生し始めます。今のところ、特にこの問題には関心がありません。
Eclipse (Juno) で効果的なデバッグを行うためのリンクまたは方法を誰かが提案できれば、将来の訪問者にも大いに役立ちます。
注: SO でいくつかのスレッドを参照しましたが、どれも役に立ちませんでした:
Eclipse CDT C++11/C++0x サポート
Cannot set Eclipse Juno C++ with std=c++11
Eclipse CDT Juno - ツールチェーンの問題