Question

J'ai un projet C construit à l'aide d'un fichier makefile. Eclipse nous avertit constamment de & "Chemin du projet non valide: entrées de chemin en double &"; mais je ne peux pas comprendre ce qu'il me demande de faire. . Je souhaite désactiver cet avertissement et poursuivre ma vie.

Mon application est compilée et fonctionne correctement, sans autre avertissement que 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.

Était-ce utile?

La solution

Cela a fonctionné pour moi avec Eclipse 3.7.2 et CDT 8.0.2:

  1. Ouvrez les propriétés du projet | Construire C / C ++ | Options de découverte.
  2. Cliquez sur le bouton Effacer les entrées découvertes maintenant:.
  3. Reconstruire.

Cela semble être une nouvelle fonctionnalité de CDT 8. J'ai eu ce & "Chemin de projet non valide: entrées de chemin dupliquées &"; problème depuis des années, et c’est apparemment 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, donc 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.

Autres conseils

Il est très difficile de résoudre ce problème. Cela ne fonctionne pas très bien.

Ceci s'applique à 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 est laissé. 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 choses comme ctrl-clic (navigation automatique vers / / définit / functions / fichiers / etc.) et l’ombre des blocs #define. Il construit l'index à partir de cette liste.

Voici ce que vous devez faire: Faites un clic droit sur votre projet dans l’explorateur de projets et allez dans les propriétés. Accédez à C / C ++ Build - & Gt; Options de découverte Désélectionnez & "Automatiser la découverte des chemins et des symboles &";

.

Allez maintenant à C / C ++ Général - > Chemins et Symboles Vous verrez sous l'onglet Inclut 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 projet entraînera toujours la rupture de l'indexeur. $ {nom_projet} et les autres globales ne semblent pas fonctionner. Si vous rencontrez des problèmes, utilisez le & Quot; Espace de travail & Quot; bouton pour accéder au répertoire que vous souhaitez inclure, car cela semble toujours fonctionner, mais le saisir manuellement ne le fait PAS. Cliquez sur Appliquer, puis sur OK. Faites un clic droit sur votre projet, allez à l'index - & Gt; 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éplacé certains chemins d'accès et je ne pouvais pas me débarrasser des anciens chemins.

  

J'ai aussi vu ce problème, les vieux chemins   ne sont jamais supprimés. Pour corriger manuellement le   fichier que vous devez déplacer / supprimer le   Le fichier $ {nom du projet} .sc se trouve sous   $ {workspace} /. metadata / .plugins / org.eclipse.cdt.make.core

https://bugs.eclipse.org/bugs/show_bug.cgi? id = 206372

Utilisation d'Eclipse Luna et de CDT 8.5

J'ai résolu le problème en

.
  1. Ouvrez les propriétés du projet | C / C ++ Général | Chemins et symboles
  2. Dans l'onglet Emplacement source, j'ai renommé un répertoire et celui-ci n'a pas été mis à jour dans cette liste.
  3. Reconstruire

Ici, je viens de trouver un autre moyen de détecter à nouveau le chemin automatiquement:

  1. Ouvrir " Paramètres de l’espace de travail - > C / C ++ - & Gt; Construire - & Gt; Paramètres - & Gt; Découverte & Quot;
  2. Rechercher " Paramètres du compilateur intégré au CDT [Shard] "
  3. Cliquez sur " effacer les entrées " et " réinitialiser " bouton à droite
  4. Reconstruire des projets et terminé

J'espère que cela vous aidera.

Référence: http://qing.blog.sina.com.cn/1802712302/6b7334ee33004def.html

Cela ressemble à un bogue 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 (c'est là que se trouvent tous les paramètres CDT) et vérifier le chemin actuel avec les entrées en double.

Vous devriez vérifier si vous avez défini manuellement un symbole que 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 ++ General - & Gt; Chemins et symboles - & Gt; Symboles.

Il n'est pas nécessaire de supprimer .metadata les gars, il suffit de supprimer tous les chemins situés dans Général C / C ++ - > Chemins et symboles - > Symboles et remplacez-les par un clic sur le bouton mais ne donnez pas le chemin manuellement

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 <Eclipse workspace>/.metadata/.plugins/com.android.ide.eclipse.ndk/<project>.pathInfo fichier du projet à Application.mk.

Je pense qu'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 <=>. Tous ces chemins deviennent & Quot; Built-in & Quot; chemins sous Eclipse.

Voir aussi Comment modifier les chemins d'accès C / C ++ intégrés pointant vers une installation supprimée d'android-ndk-r9?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top