2012-06-20 7 views
10

So hat es eine Überholung der Scanners Entdeckung gewesen, wie hier gearbeitet:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=290631
http://dev.eclipse.org/mhonarc/lists/cdt-dev/msg24345.htmlEclipse Junos "Preprozessor Include Paths, Macros etc." Symbol-Scanner für CDT

Allerdings kann ich keine Informationen finden, wie es zu benutzen. Ich habe kürzlich von Helios zu Juno gewechselt und jetzt habe ich 8000 "Semantische Fehler" und eine Tonne ungelöster Includes. Ich kann jedoch nicht herausfinden, wie diese neue Funktion verwendet wird. Ich denke nicht, dass es auch noch irgendwelche Dokumente gibt.

Ich denke, die Absicht ist, dass es Ihr Projekt scannt und automatisch Makros entdeckt und Verzeichnisse enthält, um die Symbolauflösung und Projektnavigation zu unterstützen.

Ich werde weiter daran arbeiten und diese Frage aktualisieren, wenn ich es jemals herausfinden werde.

Antwort

12

Ich habe es herausgefunden.

als Leitfaden verwendet, um diese: https://developer.mozilla.org/en/Eclipse_CDT

In den Projekteigenschaften "C/C++ Build", ersetzt ich den Standard-Build-Befehl mit meinem Build-Befehl. Ich musste einen Schalter -s (Silent-Schalter) entfernen, damit der Ausgabe-Parser alle Pfade und Makros von den Compilerbefehlen abrufen konnte. Zeige das "Build-Verzeichnis" auf das Verzeichnis mit meinem Makefile.

Unter "C/C++ General"> "Preprozessor Include-Pfade, Makros usw." > "Providers" Ich habe CDT User Setting Einträge und CDT GCC Build Output Parser ausgewählt. Ich musste dann das Compiler-Befehlsmuster ändern, um mit meinem gcc-Cross-Compiler übereinzustimmen. Um das zu tun, habe ich einfach "gcc" in "arm-elf-gcc" geändert.

Nach einem vollständigen Build (verwenden Sie keine Multi-Core-Builds für die erste Indizierung), klicken Sie mit der rechten Maustaste auf Ihr Projekt, klicken Sie auf "Index" und "Neu erstellen". Danach füllte der Ausgabe-Parser die Indizes korrekt und sie erschienen unter "C/C++ General"> "Präprozessor Include Paths, Macros etc." > "Einträge"

+5

Dies machte die Dinge noch schlimmer. Mein Wechsel zu Juno war einwandfrei, außer jetzt mein gesamtes Projekt und alle externen Bibliotheken des Projekts melden Fehler in Eclipse aufgrund schlechter Indizierung. Diese Lösung hat überhaupt nicht geholfen. Sogar der Standard-Namensraum wurde nicht gefunden. Buchstäblich jede einzelne C/C++ - Funktion meldet fehlend. Ja, das Projekt ist noch in Ordnung. – Halsafar