2010-03-17 3 views
6

Je comprends que CDT 7 aura un analyseur d'erreur d'expression régulière inclus, mais j'utilise CDT 6 maintenant.Analyseur d'erreurs CDT Eclipse pour générateur externe basé sur gcc

J'ai un constructeur CDT externe qui appelle juste un script shell pour déclencher ma construction, (Jam-based). La construction utilise GCC, et les erreurs et les avertissements sont transmis à une vue de la console, mais bien sûr, aucun analyseur d'erreurs ne la regarde, donc rien n'apparaît dans ma vue de problèmes.

Existe-t-il un moyen de configurer CDT pour utiliser son scanner GCC sur ma sortie console pour remplir la vue Problèmes? L'analyseur GCC est activé, il ne regarde pas ma sortie.

Répondre

3

Je ne sais pas si cette question est toujours d'actualité, mais la solution suivante devrait fonctionner pour alimenter voir les problèmes:

1) Créer un vide C++ Makefile CDT (appelons-le solution1)

2) Dans le menu contextuel du projet (dans l'Explorateur de projet), sélectionnez "Importer ..."

3) Dans l'assistant "Importer" sélectionnez "Général/Système de fichiers", cliquez sur "Suivant" et sélectionnez votre répertoire source. Malheureusement CDT 6 ne permet pas de créer des références à des fichiers comme CDT 7. Au lieu de cela, il va copier toutes les sources à l'emplacement du projet dans l'espace de travail. Ainsi, le répertoire le plus haut que vous importez doit contenir le Jamroot. N'oubliez pas de cocher toutes les cases pour tous les fichiers et dossiers nécessaires dans le journal d'importation. Comme alternative plus élégante à l'importation, vous pouvez simplement créer un dossier dans le projet eclipse et le lier au dossier source contenant le fichier Jamfile nécessaire - merci Vanuan pour l'indice.

Une fois les fichiers ajoutés propriétés du projet ouvert et ne les modifications suivantes:

4) Assurez-vous que CDT Builder et scanner Configuration Builder sont sélectionnés sur la page Builders. Pour les propriétés CDT Builder, je recommande de sélectionner toutes les options excepté "Pendant construction automatique"

5) Sur la page "C/C++ Build", décochez "Use Default Build Command" et mettez quelque chose comme "$ {HOME}/boost. build/bin/bjam ". Dans "Build Location", vous devez mettre le dossier avec le fichier jam que vous voulez construire à partir de votre hiérarchie de projet. Par exemple, "${workspace_loc:/solution1/Server}"

6) Passez à l'onglet "Comportement" et ajoutez les paramètres bjam nécessaires pour les options "Build (incremental)" et "clean". Décochez la case "Construire sur la sauvegarde des ressources (Construction automatique)"

7) Dans "C/C++ Build/Paramètres/Analyseurs d'erreurs", sélectionnez tous les analyseurs nécessaires. Tout le reste devrait être laissé dans l'état par défaut.

Ensuite, vous devriez être prêt à partir. Si vous avez plusieurs projets dans votre arborescence source et que vous avez utilisé l'approche "Import", il est logique de créer une configuration de construction distincte pour chaque projet et de spécifier les valeurs "Build Location" correspondantes. J'utilise CDT 7 et comme il permet d'importer des références aux dossiers source au lieu de créer des copies physiques, je crée simplement un projet Eclipse séparé dans l'espace de travail pour chaque Jamfile cible. Dans CDT 6, cela fonctionnera également si vous avez ajouté un dossier lié au lieu d'importer les sources.

+0

Sur le CDT 6 ne permettant pas de créer des références: vous pouvez en fait créer un dossier lié à un autre emplacement. Et vous pouvez également importer un projet existant du chemin personnalisé (lié) dans l'espace de travail. – Vanuan

+0

Il est également inutile de créer des configurations de construction séparées puisque le système de compilation Jam est assez puissant pour générer tous les projets simultanément. – Vanuan

+0

En ce qui concerne la construction séparée: cela dépend de votre flux de travail et de votre arborescence source. Par exemple, s'il y a plusieurs projets frères sur le projet actuel, et que vous vous concentrez sur le projet actuel, vous voudrez peut-être en limiter la portée. En ce qui concerne l'ajout de liens vers des dossiers dans le projet CDT, c'est une bonne idée et cela semble fonctionner. Je vais mettre à jour ma réponse avec ça. – Krit

Questions connexes