2012-09-17 2 views
6

Ich habe ein Projekt, das eine gemeinsam genutzte Bibliothek aus einem anderen Projekt verwendet. In den Projekteinstellungen habe ich die korrekten Include-Pfade und die Bibliothek für den GCC- und G ++ - Compiler (Option -L und -l) angegeben. Alles kompiliert gut, keine Probleme hier. Aber der Quellcode wird nicht korrekt analysiert. Mein enthalten Headerdatei (das in dem anderen Projekt befindet) wird als „Ungelöste Aufnahme markiert und überall verwende ich etwas von ihm, wird die Quelle als auch hervorgehoben.Eclipse cdt: Enthält Header-Datei korrekt, kompiliert, aber markiert Quellcode: "Nicht aufgelöste Aufnahme"

#include "myHeader.h" 

Irgendwelche Ideen? Dank!

+0

'#include" myHeader.h "'? –

+0

Entschuldigung. korrigiert dies. – tzippy

Antwort

1

ein Header sollte wie diese

#include "myHeader.h" 

aufgenommen werden oder wenn es ein Standard-lib-Header:

#include <string> 

alles andere ist ungültig.

+0

Entschuldigung. Korrigiert das. Immerhin, es heißt ungelöste Aufnahme, kompiliert aber gut. – tzippy

+0

Arbeitete für mich - oder hielt Osicllating zwischen nicht aufgelösten Einschluss und diesen anderen Fehler auf doppelte Pfadeinbeziehung – pythOnometrist

5

Der eine, den Sie hier vermissen (wahrscheinlich), ist, dem Indexer mitzuteilen, wo nach diesen Überschriften gesucht wird. Normalerweise verwalte ich mein eigenes Makefile, also weiß ich nicht, wie es funktioniert, sowohl für das von Eclipse gemanagte Makefile als auch für den Indexer. Wahrscheinlich werden Sie feststellen, dass die folgende Lösung beide Probleme behebt.

Auf die Lösung; Klicken Sie im Projekt-Explorer (oder Ressourcen-Explorer) mit der rechten Maustaste auf das Projekt, und wählen Sie Eigenschaften. Jetzt unter "C/C++ Allgemeinen"> "Pfaden und Symbolen", klicken Sie auf Inklusive Registerkarte und "GNU C++" wählen. Dann können Sie auf der rechten Seite verschiedene Include-Pfade hinzufügen (ähnlich der Option -I auf gcc/g ++), indem Sie auf Schaltfläche "Hinzufügen ..." klicken.

Sobald Sie anwenden und auf OK klicken, wird der Indexer eine Weile dauern, um diese nicht aufgelösten Objekte zu löschen.

0

Denken Sie daran, die Provider in der "Präprozessor Include Paths, Makros, etc." zu aktivieren.

Verwandte Themen