Comment puis-je obtenir de l'Éclipse à l'indice de l'ensemble d'un source C/C++ arbre qui contient plusieurs “projets”?
Je vais avoir de la difficulté à obtenir de l'Éclipse à l'index de mon code source. Je suis à l'aide d'Eclipse Helios sur Windows XP pour le moment.
J'ai un répertoire src. En son sein, j'ai un tas de dirs, quelque chose comme ceci:
src -inclure la commune (en-têtes) -lib -libIO (code source de la bibliothèque) -libGUI (code source de la bibliothèque) -mgp -pgm1 (code source et en-têtes de cette pgm) -pgm2 (code source et en-têtes de cette pgm)
Chaque feuille a sa propre Makefile. Il n'y a pas de haut-niveau Makefile dans src. pgm1 peut et doit inclure les fichiers d'include et lib/libIO et lib/libGUI.
Fondamentalement, je veux de l'Éclipse à l'index de l'ensemble de mon répertoire src, sans avoir à mettre en place un C/C++ du projet pour toutes les feuilles de mon arbre. Je n'arrive pas à trouver une façon pour que cela se produise.
Voici mes symptômes, ce que j'essaie de résoudre pour:
Lors de la modification de la source dans la pgm1 dir, il fait référence à des fonctions qui sont déclarées dans ma inclure dir fichiers d'en-tête et définis dans les fichiers sources trouvées dans le répertoire lib/libIO.
Cependant, lorsque j'appuie sur F3 pour obtenir la déclaration d'une fonction, Eclipse dit "impossible de trouver le symbole" X "dans l'index". Je n'arrive pas à obtenir de l'Éclipse de trouver l'en-tête de la déclaration ou de la source de la définition de la méthode dans mon curseur (comme le module Java fait parfaitement). Est-ce possible?
- Je sais que ce n'est pas une réponse, mais vous pourriez vouloir à Google "version Récursive Considéré comme Nocif". 🙂
- Et si j'avais le pouvoir de revoir l'intégralité de l'arborescence source, je pourrais, mais parfois ce n'est pas une option lorsque vous travaillez pour quelqu'un d'autre. En outre, je ne pense pas que c'est déraisonnable de demander de l'Éclipse! 🙂
- Avez-vous ajouté chacun des répertoires contenant les en-têtes du projet d'Inclure les en-Têtes de réglage? Vous devriez également vérifier l'Indexeur et les paramètres du Projet pour vous assurer que vous n'êtes pas ignorer quoi que ce soit. Ensuite, essayez de la reconstruction de l'index (clic-droit, Index, Reconstruction).
- Je ne peux pas ajouter des répertoires dans les en-têtes dans le Inclure les en-Têtes, car ce n'est pas un projet C ou C++. En fait, la source de l'arbre de Java et de C code. J'ai séparé un projet Java qui pointe vers le seul sous répertoire qui contient le code Java, mais j'espère que je n'ai pas à crée un projet C pointant vers chacun des 50 sous-dossiers qui contient le code C en elle juste pour l'indexeur peut travailler. Et enfin, l'Indexeur option n'est pas disponible dans des projets C évidemment.
Vous devez vous connecter pour publier un commentaire.
J'ai eu exactement le même problème que l'OP mais pour une raison quelconque, les menus dans Eclipse, j'ai été en utilisant (Helios Service Release 2) n'étaient pas "Aller dans Propriétés -> C/C++ Général -> Chemins d'accès et de Symboles -> l'Emplacement de la Source.".
La façon que j'ai résolu le problème était :
Eclipse va commencer à indexer tout de suite. En fonction de la taille de la source de l'arbre il peut prendre un certain temps, mais vous aurez l'indexation de travail, enfin, après que.
New
->Convert to C/C++ Project (Adds C/C++ Nature)
. Là, j'ai choisiExecutable
etLinux GCC
. Je peux parcourir mon code maintenant.J'ai fait face à une situation similaire. Je l'ai résolu de cette façon: cliquez-droit sur le projet dans le projet
View-->select Index-->rebuild.
J'ai réussi à résoudre ce grâce à des commentaires ici.... J'ai fini par recréer mon projet. J'ai utilisé la méthode d'Importation pour télécharger un projet à partir de CVS, et il a dit d'utiliser l'assistant Nouveau Projet de le faire. Quand j'ai reçu la boîte de dialogue Nouveau Projet, je l'ai dit c'était un Projet C++, et l'indexation fonctionne maintenant très bien.
Encore je souhaite que je pourrais les fichiers d'index sans avoir à fixer un type de projet spécifique, mais au moins j'ai trouvé une réponse.
Merci pour l'aide de tous.
Sortie D'Eclipse. Dans l'espace de travail pour aller ".les métadonnées/.plugins/org.eclipse.cdt.de base" et de supprimer tout ce qui existe.
dans le projet de panneau de l'explorateur, clic droit sur le projet que vous souhaitez ré-indexer, puis sélectionnez l'index, puis sélectionnez l'action que vous voulez
L'indexation des fichiers et des variables sous des drapeaux différents est toujours compliqué quand on a un projet énorme, beaucoup de des fichiers, et plus important encore beaucoup de différentes options de construction. Je préfère jouer avec l'Indexeur option pour m'aider à parcourir l'ensemble du code.
Vous pouvez le trouver : Propriétés de Projet>C/C++ Général/Indexeur.
Vous pouvez choisir "Activer les paramètres spécifiques d'un projet"
C'est ensuite à vous de choisir les options que vous voulez pour votre projet.
Pour un build particulière que l'on peut choisir "Utiliser les actifs de configuration de la compilation" de sorte que seuls les fichiers et les MACROS sont considérés qui sont utilisés par le script de construction.
Ou Index de tous les fichiers source dans l'ensemble du projet.
Je suis à l'aide d'Eclipse Néon 3, voici la solution qui a fonctionné pour moi :
ensuite, sélectionnez votre projet et terminer.
Il peut prendre un certain temps pour terminer l'indexation, il dépend de la taille du projet.
J'ai eu des problèmes avec l'indexeur de Eclipse Luna quand il y avait à résoudre un ami de la déclaration dans la déclaration de classe -, il semble alors que l'indexeur sauté d'indexation le reste de la classe, et toutes les références à il a été montré que non résolues par l'indexeur.
Solution: suppression de la en suspens ami déclaration (dans mon cas, c'était l'héritage de code qui n'est plus nécessaire).
Essayez de la manière suivante (mon projet est configuré différemment, donc je ne suis pas sûr que cela fonctionnera pour vous).
Allez dans les Propriétés -> C/C++ Général -> Chemins d'accès et de Symboles -> l'Emplacement de la Source.
Voyez-vous dans votre dossier source là?
J'observe ce comportement:
Quand j'ajoute un dossier source et de l'exclure ensuite de construire, il disparaît de la liste ci-dessus. Après que le dossier n'est plus indexé. Re-ajouter à "l'Emplacement de la Source" permet de résoudre le problème: le dossier est désormais indexée; reste exclu de construire (comme prévu); est visible chez les emplacements de source.
Je crois que c'est un bug -- à l'exclusion d'un dossier source de construire ne doivent pas l'enlever de la source liste des emplacements.
Dans Coocox IDE (Eclipse + gcc), le problème est résolu en allant dans le menu fichier
Edit > Préférences > C/C++ /Indexeur > configuration de Build pour Indexer mis à l'Actif de configuration de la compilation et de la reconstruction du projet (Ctrl R).
Si le projet est déjà converti en C/C++ et encore l'index ne fonctionne pas, vous pouvez cliquer droit sur le projet et l'Index et se reconstruire. Le projet permettra de commencer à indexer tout de suite.
Je suis en utilisant
Eclipse IDE for C/C++ Linux Développeurs
Version: Helios Service Release 2
Build id: 20110218-0911
J'ai suivi les suggestions ci-dessus et en plus j'ai eu de marquer tous les projets référencés (avec dans l'espace de travail) en utilisant les propriétés du projet->références de Projet
La suite a travaillé pour moi dans Eclipse Néon:
Nouveau Projet -> C/C++ -> projet Makefile avec du code existant -> Suivant. Accédez ensuite dans le code et la finition de la création du projet. L'indexation commence automatiquement.