J'ai un projet C construit à l'aide d'un fichier makefile. Eclipse m'avertit en permanence du message "Chemin de projet non valide: entrées de chemin dupliquées", mais je n'arrive pas à comprendre ce qu'il veut que je fasse. Je voudrais désactiver cet avertissement et continuer ma vie.
Mon application est compilée et fonctionne bien, sans aucun avertissement, sauf celui-ci. En tant que développeur consciencieux, je tiens à résoudre ce problème afin d’obtenir les fuzzs chauds que seule une version propre peut apporter.
Cela a fonctionné pour moi avec Eclipse 3.7.2 et CDT 8.0.2:
Cela semble être une nouvelle fonctionnalité de CDT 8. Je rencontre ce problème depuis plusieurs années «Chemin de projet non valide: entrées de chemin dupliquées». Il s’agit apparemment de la nouvelle solution proposée.
Avant cela, il y avait des chemins en double sous C/C++ Général | Chemins et Symboles | Comprend un onglet. Je ne pouvais pas m'en débarrasser. Ils n'apparaissent que lorsque l'option Afficher les valeurs intégrées est cochée, de sorte qu'elles sont apparemment générées d'une manière ou d'une autre. Après avoir effectué ce qui précède, ils ont été remplacés par un jeu qui n’avait pas de doublons. La seule différence est que les mêmes paramètres sont apparus sous Assembly, GNU C et GNU C++. Auparavant, ils étaient des ensembles différents. Ceux de l'Assemblée étaient vides, par exemple.
Jusqu'à présent, le problème n'est pas revenu.
Ce problème est une vraie douleur à gérer. Ça ne marche pas très bien.
Ceci est applicable à Eclipse 3.4.1/CDT 5.0.1
D'après ce que je peux dire, lorsque vous créez un "projet C/C++" dans CDT, il essaiera de détecter automatiquement vos chemins d'inclusion. Excellente idée, mais la mise en œuvre est horrible.
Si vous supprimez ou renommez un répertoire, l'ancien répertoire reste. Si vous renommez le projet, l'ancien répertoire reste. Lorsque Eclipse ne peut pas trouver cet ancien répertoire, il vous avertit.
Ma solution désactive complètement la découverte automatique et gère manuellement mes chemins d'accès inclus. Vous avez besoin de cette liste de chemins d’inclusion pour des opérations telles que ctrl-clic (navigation automatique vers les définitions/functions/files/etc) et l’ombrage des blocs #define. Il construit l'index de cette liste.
Voici ce qu'il vous faut faire:
Maintenant, allez dans C/C++ Général -> Chemins et symboles Vous verrez sous l’onglet Comprend les langages Assemblé, C et C++ avec les répertoires d’inclusion auto-découverts correspondants . Allez dans les 3 langues et supprimez tout .Ouvrez votre makefile et transcrivez vos includes dans la langue correspondante . Un changement de nom de projet provoquera toujours la rupture de l'indexeur. $ {nom_projet} et les autres globales ne semblent pas fonctionner. Si vous rencontrez des problèmes, utilisez le bouton "Espace de travail" pour accéder au répertoire que vous souhaitez inclure, car cela semble toujours fonctionner, mais le saisir manuellement NE PAS . Cliquez sur Appliquer, puis sur OK . Faites un clic droit votre projet, allez à index-> reconstruire Redémarrez Eclipse.
Cela devrait réparer les choses pour toujours. Chaque fois que quelque chose est incorrectement masqué à cause d'un bloc #define ou #ifdef, c'est parce que cette liste de fichiers est obsolète. Vous saurez également que cette liste est obsolète si vous obtenez des "inclusions non résolues" sur les lignes #include.
Doug Schaefer, j'espère que Google indexe ceci, vous trouvez votre nom et vous corrigez cette implémentation affreuse. =)
J'ai trouvé ce rapport de bogue pour résoudre mon problème. J'avais déménagé certains chemins d'accès et je ne pouvais pas me débarrasser des anciens chemins.
J'ai aussi vu ce problème, d'anciens chemins ne sont jamais supprimés. Pour corriger manuellement le fichier fichier que vous devez déplacer/supprimer le Fichier $ {nom du projet} .sc trouvé sous $ {workspace} /. metadata/.plugins/org.Eclipse.cdt.make.core
Utiliser Eclipse Luna et CDT 8.5
J'ai résolu le problème par
Ici, je viens de trouver un autre moyen de re-détecter automatiquement le chemin:
J'espère que cela aidera.
Référence: http://qing.blog.sina.com.cn/1802712302/6b7334ee33004def.html
Voici une réponse tardive pour Eclipse 4.4 (qui n’a pas d’option de découverte).
Supprimez le fichier infoPath
du projet. Eclipse ou le plugin ADT (vous ne savez pas lequel) va le recréer et le remplir avec les chemins corrects.
Vous pouvez trouver le fichier infoPath
du projet à <Eclipse workspace>/.metadata/.plugins/com.Android.ide.Eclipse.ndk/<project>.pathInfo
.
I think Eclipse ou le plug-in ADT détermine les nouveaux chemins à partir de deux emplacements: (1) le répertoire NDK défini dans les préférences Eclipse et (2) les chemins dans Application.mk
. Tous ces chemins deviennent des chemins "intégrés" sous Eclipse.
Voir aussi Comment changer les chemins intégrés C/C++ pointant vers une installation supprimée Android-ndk-r9?
Vous devriez vérifier si vous avez défini manuellement un symbole qu'Eclipse peut comprendre à partir de votre makefile. J'ai un projet qui a un makefile écrit manuellement et le problème a été résolu en supprimant les symboles que j'avais ajoutés manuellement à C/C++ Général -> Chemins et symboles -> Symboles.
Pas besoin de supprimer .metadata
mecs, il suffit de supprimer tous les chemins situés dans C/C++ Général -> Chemins et symboles -> Symboles et de les remplacer en utilisant click buttom chemin manuellement
Cela ressemble à un bug dans CDT.
Si vous voulez vraiment vous en débarrasser, vous devriez essayer de vous débarrasser des espaces dans le chemin du projet. cela a été suggéré dans un résultat de recherche pour l'erreur. Si cela ne fonctionne pas, vous pouvez essayer d'ouvrir le fichier .cproject (où se trouvent tous les paramètres CDT) et vérifier le chemin réel avec les entrées en double.