J'ai un problème avec Eclipse C ++. Mon projet compile et fonctionne, mais Eclipse (Juno) continue de dire qu'il y a des milliers d'erreurs. Par exemple, il existe une fonction SetRun dans mon code et Eclipse mentionne cette erreur: les candidats «appelés arguments invalides» sont les suivants: Void SetRun (?) '», ATTENDU QUE SETRUN est de type statique statique SETRUN (UINT32_T RUN); P>
J'ai beaucoup d'erreurs similaires comme celle-là, où Eclipse ne semble pas comprendre le type de fonction et met un "?" à la place. P>
J'ai aussi beaucoup d'erreurs comme ceci: "Symbole '*" n'a pas pu être résolu. " P>
Je pense que cela fait partie du même problème. P>
Que puis-je faire pour faire arrêter Eclipse m'arrêter de me dire ces erreurs? P>
5 Réponses :
En réalité, Eclipse est une sorte de projet instable. Essayez de nettoyer et de rafraîchir le projet. P>
J'ai essayé de nettoyer et de rafraîchir le projet, mais les erreurs toujours là. J'ai aussi redémarré Eclipse. Je préfère rester avec éclipse, autant que possible.
Je ne pense pas que je ne sais pas ce que cela signifie :). Comment tu fais ça ?
Index - c'est une cache de toute votre structure de code de projet. Eclipse le construit pour rechercher plus rapidement et montrer des suggestions sur votre pièce de code tapée.
Appuyez sur le bouton droit de la souris sur un projet, choisissez "Index" -> "Rebuild"
Non, je n'avais pas essayé alors. Merci pour l'explication. Je l'ai fait juste maintenant, mais malheureusement, cela montre toujours des erreurs. Oh, attendez en fait que cela pensait, ils ont tous disparu! Merci beaucoup !!
Oui, après avoir lancé le processus de reconstruction, vous devez attendre que le travail soit effectué. Vous pouvez voir les progrès dans le conner de bas de droite sur l'interface Eclipse.
Ce n'est pas instable, il est difficile de régler. C'est un plaisir d'utiliser, mais vous devez avoir beaucoup de choses auparavant.
J'ai essayé la solution proposée et cela n'a pas fonctionné pour moi. Ce qui a aidé, c'était d'éteindre la cycle de codification du projet. Je suis allé à Properties-> C / C ++ General-> Analyse de code. Utilisez des paramètres de projet sélectionnés et désactivé toutes les erreurs. Ceci est bien sûr très ennuyeux et malheureux et je serais heureux de savoir quand il est correctement fixé. C'est une honte que nous ne puissions pas utiliser la fonctionnalité d'autre IDE décent. P>
J'avais beaucoup de ces erreurs quant à essayer d'obtenir Codan de fonctionner sur un code qui était destiné à un Mac. Mes bibliothèques Mac SDK ont été incluses via Symlinks comme dans Cette question (Mais pas tous - restez à l'écoute!) À la fin, il s'est avéré que je n'avais pas tous les en-têtes inclus. Par exemple, j'ai eu l'appel de la fonction suivant: qui donnait l'erreur: p> maintenant, la signature correcte de la fonction , défini dans maintenant, si nous prenons le premier argument et tracez le type Définitions, nous obtenons: p> et ensuite! Je n'ai pas eu l'inclusion qui définit Enfin, CODAN savait quel type argument 1 de J'ai répété cette "trace de type" pour les autres arguments et a constaté que l'erreur a disparu (je n'avais même pas besoin de reconstruire l'index, mais ymmv) . Bien sûr, vous auriez besoin de trouver les en-têtes dont vous avez besoin et peut sûrement ils em> sont inclus - ce qui précède n'est qu'un exemple! P> p> iokit / iokitlib.h code> (ce que j'ai fait) est: p>
__ darwin_natural_t code>. Ceci inclut était en fait dans
i386 code>, que je n'avais pas dans mon répertoire symbolique. L'ajout de celui-ci terminé la chaîne: p>
iOREGRYENTRYGETPARENTRY () code> était censé être, et l'erreur a changé pour : p>
J'ai eu le même problème avec quelques fonctions aussi. Il s'est avéré que l'argument était, après plusieurs Typefs, un __int64, qui n'est pas défini (non standard). Je n'avais que de le définir dans mon projet et cela a résolu le problème. P>
Projet-> Propriétés-> C / C ++ General-> Chemins et symboles-> Symboles-> Fichier source C ++-> Ajouter P>
Nom: __int64 P>
valeur: longue long p>
(ou au lieu de "long" longtemps "peut-être que vous pourriez peut-être utiliser l'une des valeurs de cette réponse a>) p>
EDIT: P>
Au fait, j'ai vu un rapport de bogue sur ce problème même dans l'éclipse Bugzilla, alors peut-être définir __int64 ne sera pas nécessaire à l'avenir p>
en Eclipse: P>
Problème commun et gênant. C'est bien de l'avoir résolu sur le poêle.