it-swarm.com.de

Wie kann die Linux-GCC-Toolchain von Eclipse CDT dazu gebracht werden, C ++ - Standardbibliotheksheader aufzulösen?

In Ubuntu 12.04 LTS habe ich das Eclipse CDT-Plugin installiert und das neue Hallo-Welt-Projekt geöffnet, um einfach alles auszuprobieren. Als ich das Projekt erstellte, wählte ich die einzige Toolchain: "Linux GCC"

Wenn das Projekt erstellt wird, heißt es jedoch, dass

#include<iostream>
#include<cstdlb>

sind ungelöst. Daher können Zeilen mit cout und endl nicht verwendet werden und es kann std nicht gefunden werden.

using namespace std; verursacht ebenfalls Probleme.

Wie kann ich meine Anweisungen #include für Standardbibliotheks-Header erkennen lassen, um Code mit dem Namespace std zu unterstützen?

12
Muhammad Khan

Wenn Sie das gleiche Problem hatten, vermute ich, dass Ihr Projekt zwar erstellt wird, die Code-Vervollständigung/Code-Hervorhebung jedoch fehlschlägt? Ich habe gerade einige Notizen gefunden, die nützlich sein könnten. Folgendes habe ich getan:

  • Projekt-> Eigenschaften

  • C/C++ Allgemein

  • Pfade und Symbole

  • wählen Sie die entsprechende Sprache

  • Klicken Sie auf "Hinzufügen" und fügen Sie die compilerversionsspezifischen Verzeichnisse hinzu

Für die Sprache 'GNU C++' habe ich hinzugefügt:

  /usr/include
  /usr/include/c++/4.6
  /usr/include/c++/4.6/bits
  /usr/include/i386-linux-gnu
  /usr/include/i386-linux-gnu/bits
  /usr/include/c++/4.6/debug
  /usr/include/c++/4.6/i686-linux-gnu
  /usr/include/c++/4.6/i686-linux-gnu/bits

Für "GNU C" habe ich hinzugefügt:

  /usr/include
  /usr/include/i386-linux-gnu
  /usr/include/i386-linux-gnu/bits

TBH, ich glaube nicht, dass alle oben genannten Verzeichnisse tatsächlich erforderlich sind (Sie könnten wahrscheinlich die "Bits" -Verzeichnisse entfernen), aber die obige Liste hat zu der Zeit für mich funktioniert.

Ich verwende jetzt Eclipse Indigo (Version 3.7.2) von Eclipse.org und es findet und fügt automatisch die richtigen Include-Verzeichnisse hinzu. Die Liste ist für mich anders:

/usr/include/c++/4.6
/usr/include/c++/4.6/i686-linux-gnu
/usr/include/c++/4.6/backward
/usr/lib/gcc/i686-linux-gnu/4.6/include
/usr/local/include
/usr/lib/gcc/i686-linux-gnu/4.6/include-fixed
/usr/include/i386-linux-gnu
/usr/include

Füge natürlich nur die Include-Verzeichnisse hinzu, die tatsächlich auf deinem System existieren ;-)

4
jamesodhunt