Ich benutze ecipse cdt, das C ++ Programm entwickelt. Ein Problem ist, dass ich mein gesamtes Workspace- und Eclipse-Paket von turbolinux nach centos linux verschoben habe. Dann verursacht es ein Problem, das heißt Systemeinschlüsse sind unterschiedlich, aber Eclipse hat die Include-Pfade nicht aktualisiert. Und alle Std-Container-Klassen können nicht gelöst werden.
Weiß jemand, wie man dieses Problem behebt?
Ich wurde kürzlich von diesem selbst gebissen (kam eigentlich auf diese Seite, um nach einer Antwort zu suchen ;-), also teile ich mit, was ich gefunden habe:
(diese Schritte spiegeln Eclipse Indigo SR1 wider)
Überprüfen Sie zunächst, ob Eclipse noch die alten Include-Pfade enthält:
Als nächstes löschen Sie die alten Pfade:
Projekt - & gt; Eigenschaften - & gt; C / C ++ Build - & gt; Ermittlungsoptionen - & gt; GCC C ++ - Compiler
klicken Sie auf die Schaltfläche für "Erkannte Einträge jetzt löschen"
Erstellen Sie Ihr Projekt neu, sodass Eclipse die neuen Include-Pfade verwendet
Bestätigen Sie, dass die neuen Include-Pfade festgelegt sind:
Auf Eclipse Luna 4.4.0 mit Cdt 8.4.0.201406111759 überprüft.
Sie können sich Ihre workspace/.metadata/.plugins/org.eclipse.cdt.core/
ansehen und nach einer Datei namens YourProjectName.language.settings.xml
suchen.
Löschen Sie diese Datei (besser sollten Sie vorher sichern), dann öffnen Sie Ihr Projekt (oder starten Sie Eclipse neu) und Cdt sollte die GCC Builtin Discovery auslösen.
Beachten Sie, dass diese Methode möglicherweise nur dann angewendet werden kann, wenn Ihre Einstellungen auf projektspezifische Vordefinierte Discovery eingestellt sind (nicht für »Globalen Provider verwenden, der von Projekten gemeinsam verwendet wird«). → siehe Project Properties → C/C++ General → Preprocessor Include Paths, Macros etc. → Providers → CDT GCC Built-in Compiler Settings
.
Bei älteren Eclipse-Versionen (IMHO bis Indigo) wurden die Scanner-Cache-Dateien in workspace/.metadata/.plugins/org.eclipse.cdt.make.core/
platziert und wie YourProjectName.sc
benannt.
In der neuesten Version von Eclipse CDT Mars.1 (4.5.1) müssen Sie die Datei ${WORKSPACE}/.metadata/.plugins/org.eclipse.cdt.core/${PROJECTNAME}.randomnumbers.pdom
löschen, und nach dem Öffnen des Projekts sollte Eclipse automatisch beginnen, die Includes neu zu indizieren.
Tags und Links eclipse eclipse-cdt