2013-04-28 21 views
14

Eclipse IndigoからJuno(Ubuntu 12.04)にアップグレードして以来、標準ライブラリの「未解決のインクルード」エラーを表示しています。 #include <iostream>#include <vector>などのように)、プログラムはうまく構築され実行されます(g ++を使用)。これは、Junoで作成された新しいプロジェクトでのみ発生し、私の作業領域にあるIndigoの古いプロジェクトでは発生しません。CDTのEclipse Junoに組み込まれているインクルードディレクトリが組み込まれていない

他のいくつかの質問(下記参照)のおかげで、プロジェクトの[プロパティ]> [C/C++全般]> [パスとシンボル]に「組み込み値」がないため、問題の原因をトレースできました>タブを含む:

/usr/include/c++/4.6 
/usr/include/c++/4.6/x86_64-linux-gnu 
/usr/include/c++/4.6/backward 
/usr/lib/gcc/x86_64-linux-gnu/4.6/include 
/usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed 
/usr/include/x86_64-linux-gnu 
/usr/include 

「ショーは内蔵の値」チェックボックスがこの問題を持っていますが、ジュノで作成した私の新しいプロジェクトには存在しないしませんでした私の古いインディゴのプロジェクトにチェックされているときに存在しています。これらの7つのディレクトリをプロジェクトの設定の[インクルード]タブに手動で追加すると、問題は解決します。しかし、私が作成したプロジェクトごとに手動で行う必要はありません。これはもはやジュノのデフォルトではない理由がありますか?それを復元する方法はありますか?

私が相談してきたが、私の問題を解決していない同様の問題を持つ*その他のSOの質問:

  • Eclipse 3.7.0 Indigo with CDT shows many false compilation errors:私はエルジェベートGerébの答えは私の解決策になるだろうと思った - ジュノに、私は新しいC++プロジェクトを作成した場合"Executable"ではなく "GNU Autotools"の下に "Project type"というカテゴリの1つとして、組み込みのディレクトリがあります。 GNU Autotoolsのカテゴリはありません。もし "Executable"の下の空のHello WorldプロジェクトとしてIndigoで作成したのであれば、それらのディレクトリはありますが、私がJunoでそうするなら、そうではありません。 "GNU Autotools"の下のオプションを選ぶ)しかし、GNU Autotoolsプロジェクトでは、プロジェクトのProperties> C/C++ Build> Settingsに行くと、 "Tool Settings"タブは表示されなくなりました。 GCC C++コンパイラ用のインクルードパスとGCC C++リンカ用のライブラリを追加できません.C++プロジェクトの多くはOpenCVライブラリを使用しているため、これを実行する必要があります。
  • "Unresolved inclusion" error with Eclipse CDT for C standard library headersは:~/.eclipse/を清掃し、インデックスが助けにはならなかった再構築:ではなく、デフォルト
  • error , Symbol 'vector' could not be resolvedによって追加内蔵のものを持っているか、どのように手動で含めるのパスを追加するように言いました。
  • Eclipse CDT Builtin Include Directories:検出オプションは、正常に動作するプロジェクトと同じに設定されています。
  • eclipse CDT 8.01 - default paths (libstdc,libstdc++) totally disappeared in 'includes' directory
  • Eclipse CDT indexer lost after system update:すべての新しいプロジェクトで問題は解決しません。
+0

この種の問題は、他のEclipseのバージョンでも発生します。 Keplerのようなもので、バージョンアップ時だけでなく、さまざまなシナリオでもお勧めします。 – einpoklum

+0

あなたは@ languitarの答えを受け入れることを提案します、それは私のために働く... – einpoklum

答えて

12

ください

  • オープンEclipseの環境設定]ダイアログ(のWindows |設定)。
  • 公開C++ |ビルド|設定
  • ディスカバリータブを開きます。
  • 組み込みのコンパイラ設定エントリを選択します。
  • エントリをクリアボタンを押します。

その後、eclipseはコンパイラからデフォルトを再度要求する必要があります。

アーチLinuxの場合GCCの各バージョンが変更されたあと、これを行う必要がありました。その場合、バージョンがフォルダ名にエンコードされてデフォルトの場所が変更され、eclipseはこれに気付かないからです。

+0

私はC++で "発見"タブを持っていません>ビルド>設定! – MSH

+0

CDTのバージョンが変更されました。バージョンが古すぎるか、最近のリリースでこれが再び変更されました。 – languitar

0

FWIW:

私は別のコンピュータからプロジェクトをインポートした後、私はプロジェクトエクスプローラでの私のプロジェクトの「含み」セクションの下に示す任意のものを得ていなかったことがわかっ

。これを解決するには、フォルダ/workspace/project/.settings/を削除する必要がありました。私にとっては1つのファイル(language.settings.xml)しかありませんでした。

すべて正常に戻りました。

関連する問題