2013-04-28 12 views
14

Od czasu aktualizacji z Eclipse Indigo do Juno (w systemie Ubuntu 12.04), mam problem z wyświetlaniem błędów "nierozwiązanej integracji" dla bibliotek standardowych (np. obok #include <iostream> i #include <vector> itp.), chociaż program buduje i działa poprawnie (używając g ++). Dzieje się tak tylko w nowych projektach tworzonych przez Juno, nie starych z Indigo w moim obszarze roboczym.Eclipse Juno z CDT nie dodaje wbudowanych katalogów dołączających

Dzięki kilku innym pytaniom SO (patrz poniżej *), udało mi się prześledzić źródło problemu pod nieobecność "wbudowanych wartości" we właściwościach projektu> C/C++ Ogólne> Ścieżki i symbole

/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 

występują kiedy „Pokaż wbudowaną wartości” pole jest zaznaczone w moich starych projektów Indigo, które nie mają tego problemu, ale są nieobecne w moich nowych projektów stworzonych z Juno:> zakładka Zawiera. Rzeczywiście, jeśli dodaję te siedem katalogów ręcznie do karty Uwzględnij w ustawieniach projektu, problem zniknie. Ale nie chcę tego robić ręcznie dla każdego nowego projektu, który tworzę. Czy istnieje powód, dla którego nie jest to już domyślne w Juno i czy istnieje sposób na przywrócenie go?

* Inne SO pytań o podobnej kwestii mam konsultowany, ale nie rozwiąże mój problem:

+0

Ten rodzaj problemu występuje również w przypadku innych wersji Eclipse, np. Kepler, i jak sugerujesz, nie tylko podczas aktualizacji wersji, ale w różnych innych scenariuszach. – einpoklum

+0

Zasugeruję, że akceptujesz odpowiedź @ languitar, to działa dla mnie ... – einpoklum

Odpowiedz

12

Proszę

  • Otwórz okno dialogowe Preferencje Eclipse (Okna | Preferencje).
  • Otwórz C++ | Zbuduj | Ustawienia.
  • Otwórz zakładkę Discovery.
  • Wybierz wbudowany wpis ustawień kompilatora.
  • Naciśnij przycisk Clear Entries.

Później zaćmienie powinno ponownie zażądać wartości domyślnych od kompilatora.

Na Arch Linux musiałem to zrobić po każdej zmianie wersji GCC, ponieważ w tym przypadku lokalizacje dla wartości domyślnych zmieniły się, gdy wersja jest zakodowana w nazwie folderu, a Eclipse tego nie zauważy.

+0

Nie mam "Discovery" w C++> Build> Ustawienia! – MSH

+0

Rzeczy zmieniły się w wersjach CDT. Albo twoja wersja jest zbyt stara, albo w ostatnich wydaniach to się zmieniło. – languitar

0

FWIW:

Okazało się, że po zaimportowaniu projektu z innego komputera, nie był już niczego pokazujący się pod odcinku „obejmuje” w moim projekcie w Eksploratorze projektu. Aby to naprawić, musiałem usunąć folder /workspace/project/.settings/. Dla mnie miał tylko jeden plik (language.settings.xml).

Potem wszystko wróciło do normy.