Source Fehler in Eclipse

Gast #4150575
Lesenswert?

Hallo !

ich verwende seit geraumer Zeit Eclipse-Luna+GCC und kann meine Projekte 
auf Basis eines Makefiles absolut fehlerfrei übersetzen. Da die 
Sourcedateien in zahlreichen verschiedenen Verzeichnissen liegen (es ist 
ein großes Projekt) muss ich mein eigenes Makefile benutzen (angeblich 
kann man das ja automatisch irgendwie machen).

Das Make funktioniert in der Konsole und auch unter Eclipse.

Was mich ziemlich nervt:

Eclipse zeigt in fast allen Sourcen die sich nicht im root-Verzeichnis 
befinden rote "Fehler" an, die entstehen, weil es die h-Files nicht 
findet.
Auch nach dem erfolgreichen Übersetzen gehen diese Fehlermarkierungen 
nicht weg.

Die Frage:

Woher weiß Eclipse überhaupt, wo es für diese "Onlineanalyse" nach 
Headern suchen soll? Scheinbar schaut es dabei nicht in das Makefile, 
sonst würde es ja funktionieren. Aber wo dann? Es kann ja nicht davon 
ausgehen, dass alle h-Files im root liegen. Meine Include Pfade zeigen 
im Makefile u.A auf third party Produkte, die nicht mal im Projektordner 
liegen. Für das Makefile kein Problem, aber diese roten Markierungen 
...?

Es gibt da so einen Indexer, dessen Funktionalität sich mir noch nicht 
so ganz erschlossen hat - hat es damit zu tun? Wo stelle ich das ein, 
oder wo kann ich das abdrehen, wenn es schon nicht funktioniert?

Ich hoffe, hier eine Antwort zu bekommen, da ich am Ende meiner Weisheit 
angelangt bin...
#4150580
Lesenswert?

Mach im Project-Explorer mal einen recht-Klick auf dein Project und dann 
auf "Properties".

Da kann ich bei mir unter C/C++ Build einstellen, welche Verzeichnisse 
beim compilieren (und mehr ist die Fehlermarkierung beim bearbeiten ja 
auch nicht) mit eingebunden werden.

Bei mir unter Properties->C/C++ Build->Tool Settings->IAR C/C++ Compiler 
for ARM->Preprocessor
(Dürfte bei dir geringfügig anders heißen)

Gruß Mike
Gast #4150582
Lesenswert?

Eclipse bzw. Das CDT Plugin durchsucht nur die Ordner, die du im Projekt 
eingestellt hast.
Geh in die Properties des Projektes und trag dort die Includepfade ein.
Das CDT Plugin parst nicht das Makefile
Gast #4151533
Lesenswert?

Stefan (Gast) schrieb:
>Eclipse bzw. Das CDT Plugin durchsucht nur die Ordner, die du im Projekt
>eingestellt hast.

Genau. Dadurch kann man prima Cube einbinden ohne daß es zu Chaos kommt.

Mit dem Indexer hatte ich Probleme mit einem C++ Projekt die ich nicht 
zuordnen konnte (Invalid arguments 'Candidates are: void sleep()). Mit 
ein bisschen experimentellem rumklicken ging's weg.

Und damit man nicht immer wieder bei jedem neuen Projekt die gleichen 
Pfade für gewisse .h Files angeben muß, kann man sie in 'Path and 
Symbols' -> 'Export settings...' in ein XML File schreiben und danach 
wieder importieren.

Noch nen Tip für nen ähnlichen Fall: Ausgeblendete C-Files.
Wenn du HAL nutzt und zugehörige .c Dateien mit einem durchgestrichenen 
Icon hast, dann gehören sie nicht zum Projekt obwohl sie im 
Projektordner liegen. Wenn du sie einbinden möchtest, dann:
Properties -> C/C++ General -> Path and Symbols -> Reiter 'Source 
location' -> Pfad in "Source folders on build path" anklicken -> Edit 
filter... -> mit Remove die Datei aus dem Filter entfernen. Nun findet 
man sie aktiv im Verzeichnisbaum.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren