eclipse C projet montre des erreurs (Symbole ne peut pas être résolu), mais il compile
J'ai eu accès à un projet C au travail que j'ai à mettre en œuvre certaines choses. J'ai été en mesure de le charger dans eclipse et peut Project -> Build All
. Compilation montre pas d'erreurs ou d'avertissements. Mais dans eclipse, il y a beaucoup d'erreurs qui s'affichent. Un exemple:
Il y a un enum
typedef enum MeasurementType {
PN, BB, AM, RES
} MEAS_TYPE;
MEAS_TYPE type;
dans l'un des fichiers. Il est utilisé ailleurs et génère un message d'erreur comme ceci:
Il est le plus intéressant, c'est seulement AM
semble être un problème, pas PN
ou BB
.
Je n'ai pas trouvé une solution satisfaisante à cette question. J'ai déjà essayé d'inclure tous les possibles répertoires que je pouvais penser en Project Properties -> C/C++ General -> Paths and Symbols
(comme ce post l'indique), mais cela n'a pas aidé.
Le projet est compilé avec les Makefiles (c'est pourquoi j'ai besoin de Project -> Build All
). Se peut-il que l'éclipse ne pas interpréter ces Makefiles correctement ou quelque chose? Je suis un peu perdu après déconner avec ça pendant quelques heures et ne pas avoir un seul pas en avant.
EDIT: Voici quelques captures d'écran pour mon build-pertinent propriétés du projet (au moins je crois qu'ils sont pertinents :D). Dites-moi si vous avez besoin de plus d'informations.
Déjà fait (qui a été le dernier point de la suggestion de la réponse que j'ai mis en lien). N'a pas aidé...
Ce genre de projet Eclipse est-ce? Avez-vous le makefile? Il semble que si Eclipse (pas gcc) est configuré pour analyser le mal ou certains additonally, probablement obsolète.
Plus probablement oui au moins si
MeasurementType
vient de vos sources. Ou est-il déclaré dans aucune bibliothèque des en-têtes installé dans `/usr/incldue " ou de tout autre système de chemin?Vous êtes les bienvenus. Veuillez voir ma réponse.
OriginalL'auteur brimborium | 2012-11-07
Vous devez vous connecter pour publier un commentaire.
Il semble que si Eclipse (pas gcc) est configuré pour analyser le mal ou certains additonally, probablement obsolètes (comprennent) les fichiers source.
la pensée de cela, mais je voulais à prix alk pour ses rapides et utiles de l'aide.
OriginalL'auteur alk
Depuis que je suis sur une suggestion de moooeeeep, je vais poster la solution ici. Je suis encore en acceptant d'alk réponse, parce qu'il a été celui qui m'a montré vers la bonne direction.
Ma solution:
Si je clique sur
AM
dans eclipse (celui qui est souligné en rouge) et appuyez surF3
pour aller à la déclaration, en effet, il m'a demandé à qui la déclaration que je veux aller. Il a énuméré les (bonnes) enum constante, ainsi que certaines variables à partir de quelque part d'autre. Donc le problème est que plusieurs déclarations deAM
étaient présents dans le code différents endroits.J'ai résolu ce problème en seulement renommer la
enum
constante à autre chose (AN
dans mon cas). Il n'y a pas de variable avec le même nom dans le code et donc de l'éclipse a été en mesure de refactoriser le code correctement.OriginalL'auteur brimborium
Il y a un rapport de bug ajouté dans Eclipse CDT Bugzilla à l'égard de ce problème: https://bugs.eclipse.org/bugs/show_bug.cgi?id=439553
OriginalL'auteur Compfy
C'est tout à fait une vieille question, mais j'espère que cette courte réponse peut être utile à quelqu'un.
J'ai eu des erreurs similaires avec les énumérations dans l'IDE, mais pas lors de la compilation, ce qui semble indiquer un bug dans l'Éclipse du Codan. Après la mise à niveau vers la nouvelle version d'Eclipse (Néon 4.6), sorti en juin, les erreurs ont disparu. Juste essayer la mise à jour de l'Éclipse!
OriginalL'auteur Pyves