41 votes

Eclipse CDT Invalide Chemin de Projet

J'ai un projet C qui est construit à l'aide d'un makefile, Eclipse constamment met en garde sur les "Invalides chemin de projet: Dupliquer les entrées de chemin d'accès", mais je ne peux pas comprendre ce que l'enfer, il veut que je fasse. Je voudrais désactiver cet avertissement et continuer avec ma vie.

Mon application compile et fonctionne très bien, avec pas un seul avertissement à l'exception de celui-ci. Être consciencieux, je suis développeur désireux de résoudre ce problème j'ai donc l'affinité seulement une construction propre peut apporter.

31voto

Kenneth Evans Points 725

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

  1. Ouvrez les propriétés du projet | C/C++ Build | Options de Découverte.
  2. Cliquez sur le bouton en Clair découvert les inscriptions:.
  3. Reconstruire.

Il semble être une nouvelle fonctionnalité dans le CDT 8. J'ai eu ce "non Valide chemin de projet: Dupliquer les entrées de chemin d'accès" pendant des années, et c'est apparemment la nouvelle solution.

Avant de faire cela il y a duplication des chemins sous C/C++ Générale | les Chemins et les Symboles | Includes onglet. Je ne pouvais pas me débarrasser de ces. Ils s'affichent uniquement lorsque l'option Afficher des valeurs prédéfinies est cochée, de sorte qu'ils sont apparemment généré en quelque sorte. Après avoir fait de la ci-dessus, ils ont été remplacés par un ensemble qui n'ait pas de doublons. La seule différence est que les mêmes paramètres est apparu en vertu de l'Assemblée, GNU C et C++ de GNU. Auparavant, ils étaient différents ensembles. Ceux de l'Assemblée étaient vides, par exemple.

Jusqu'à présent, le problème n'a pas retourné.

27voto

Jeff Lamb Points 1926

Ce problème est une vraie douleur à traiter. Il ne fonctionne pas très bien.

Ceci est applicable à Eclipse 3.4.1 / CDT 5.0.1

À partir de ce que je peux dire, lorsque vous créez un "C/C++ Projet" au sein de la CDT, il va essayer de détecter automatiquement votre chemins à inclure. Une grande idée, mais la mise en œuvre est horrible.

Si vous supprimez ou renommez un répertoire, l'ancien répertoire est les restes. Si vous renommez le projet, l'ancien répertoire est les restes. Lors de l'Éclipse ne peut pas trouver que l'ancien répertoire, il vous donne cet avertissement.

Ma solution est de tourner la découverte automatisée entièrement et la gestion de mes chemins à inclure manuellement. Vous avez besoin de cette liste des chemins à inclure des choses comme la touche ctrl (auto-accédez définit/fonctions/fichiers/etc) et font de l'ombre à #définir des blocs. Il s'appuie l'index dans cette liste.

Voici ce que vous devez faire: Clic droit sur votre projet dans l'explorateur de projet et allez dans les propriétés. Aller C/C++ Build -> Options de Découverte Décochez la case "Automatiser la découverte des chemins et des symboles"

Maintenant, allez dans C/C++ Général -> Chemins et des Symboles Vous verrez sous le Comprend onglet Assemblée, langages C et C++ avec le correspondant de l'auto-découverte d'inclure des répertoires. Accédez à tous les 3 langues et tout effacer. Ouvrez votre fichier makefile et de transcrire votre inclut dans la langue correspondante. Un projet de renommer va encore causer de l'indexeur à briser. ${project_name} et d'autres globals ne semblent pas fonctionner. Si vous rencontrez des difficultés, utilisez l'espace de travail "" bouton pour naviguer vers le répertoire que vous souhaitez inclure, comme cela semble toujours fonctionner, mais les entrer manuellement ne le fait PAS. Cliquez sur appliquer, puis sur OK. Cliquez-droit sur votre projet, allez à l'index->reconstruire Redémarrer eclipse.

Cela devrait arranger les choses pour toujours. Toutes les fois que quelque chose de mal est ombragée par un #define et #ifdef bloc, c'est parce que la liste de fichiers est obsolète. Vous saurez également que la liste est obsolète si vous obtenez "en suspens inclusions" sur les lignes #include.

Doug Schaefer, espérons que Google indexe cela, vous trouvez votre nom, et de réparer cette terrible mise en œuvre. =)

12voto

EJ. Points 91

J'ai trouvé ce rapport de bug pour aider à mon problème. J'avais déplacé certains chemins à inclure, et ne pouvait pas se débarrasser de l'ancienne chemins.

J'ai vu ce problème aussi, les vieux chemins ne sont jamais supprimés. Pour réparer manuellement le fichier, vous devez déplacer/supprimer l' ${projectname}.sc fichier qui se trouve dans ${espace de travail}/.les métadonnées/.plugins/org.eclipse.cdt.faire.de base

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

1voto

Ethan Points 11

Ici, je viens de trouver une autre façon de détecter automatiquement le chemin:

  1. Ouvrez "Paramètres D'Espace De Travail-> C/C++ -> Build -> Paramètres -> Découverte"
  2. Trouver "CDT Construire-dans les Paramètres du Compilateur [Fragment]"
  3. Cliquez sur "Effacer les Entrées" et "Reset" sur le bouton de droite
  4. Reconstruire des projets et Fait

Espérons que cela aidera.

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

0voto

aib Points 18608

Il semble comme un bug dans le CDT.

Si vous voulez vraiment vous en débarrasser, vous devriez essayer de se débarrasser de la présence d'espaces dans le chemin de projet; ce qui a été suggéré dans un résultat de recherche pour l'erreur. Si cela ne fonctionne pas, vous pouvez essayer d'ouvrir le .cproject fichier -c'est là où tous les CDT paramètres de mensonge et de vérifier pour un chemin d'accès réel avec les entrées en double.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X