1

Indigo から切り替えた後、Ubuntu 12.04 の最新の Eclipse Juno でさまざまな問題に直面しています。
以下のフラグを設定しました:
プロジェクト -> プロパティ -> C/C++ ビルド -> 設定 -> ツール設定 -> Cross G++ コンパイラ

  • -> その他:-std=c++11
  • -> プリプロセッサ: __GXX_EXPERIMENTAL_CXX0X__(C/C++ 一般 -> パスとシンボルでも設定)

現在、C++03 で問題なくコンパイルできていたコードを Indigo でコンパイルしています。C++11 に変更した後、おそらく g++ 拡張が原因であるいくつかのエラーが発生しましたが、それらを修正しました。

今ここに私が修正したい問題があります:

  1. 通常の 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 file c++0x_warning.h. クリーンビルドやEclipseを再起動してもエラーは消えません。
  2. デバッグが期待どおりに機能しません。実行は特定のブレーク ポイントで停止しますが、マウスを変数の上に置いても値が表示されません。Indigo では、以前はそれを示していました。Eclipse のさまざまな設定で試行錯誤を繰り返しましたが、うまくいきませんでした。また、ウィンドウ -> 設定 -> C/C++ -> ホバーをチェックしましたが、何も変更できません。
  3. インクルード<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 - ツールチェーンの問題

4

1 に答える 1

1

まず、全体の新規インストールから始めました。今後の参考のために、GCC を Eclipse で最初からインストールして使用する方法を示したいと思います。

まず、Ubuntu Software Center にアクセスし、GCC の最新バージョン (GCC 4.8) をダウンロードします。ここで、これを行うと問題が発生する可能性があるgcc-4.8ため、ソフトウェアを見つけようとするときに入力することをお勧めします. g++ の場合も同じで、入力しg++4.8て必要なものを取得します。適切なバージョンがあることを確認してください。Linux はオープン ソースであるため、バージョンに関連する問題が多く発生する傾向があります。

-> : Enter キーを押します

次に、ターミナルを開き、次のように入力します。

  • sudo su --> これにより、特別なルート権限が付与されます。
  • パスワードの入力を求められるので、それを入力してください ->
  • !root は多くの損害を与える可能性があるため、この部分を間違えないように注意してください。
  • ディレクトリを変更して、cd /usr/bin->と入力します。
  • タイプls -l gcc* g++* cpp*->
  • これにより、それらのデータ型で使用できるシンボリック リンクが表示されます
  • タイプln -s g++-4.8 g++->
  • タイプrm cpp gcc->
  • ln -s gcc-4.8 gcc->
  • ln -s cpp-4.8 cpp->
  • CTRL+Dを 2 回押すと、ターミナルの外に移動します。

さて、日食を開きます。[設定] > [新しい CDT ウィザード] (またはそのようなもの) に移動 ここに画像の説明を入力 します。Linux GCC が選択されていることを確認します。を押しますMake Toochains preferred。プロジェクトを開くときは、必ずプロジェクトのプロパティに移動し、次の操作を行ってください。

  • C/C++ ビルド > 設定 > その他。> 他のフラグの下にこれを追加し-std=c++11ます。 ここに画像の説明を入力

  • GCC Cコンパイラでも同じですが、今回は追加します-std=gnu11

これですべてが設定されるはずです。Cross GCC を使用しないでください。常に問題が発生します。

于 2013-04-23T13:19:24.500 に答える