2009-12-15 5 views
2

J'ai un ensemble de projets Eclipse c qui feront tous référence à une base commune de code partagée (un mélange de fichiers .c et .h dans le même dossier) mais sera construit ce code différemment par projet.Dans le dossier de ressources partagées Eclipse CDT construit différemment pour le projet

La base de code commune peut être éditée à partir de chaque projet, mais ces modifications seront des corrections à effectuer dans tous les projets. Le code commun ne divergera pas par projet sauf pour les options de construction via les définitions.

Si je crée un projet pour cette bibliothèque, cela implique une construction de bibliothèque avec ce dont j'ai besoin. J'ai besoin que les fichiers objet résultants atterrissent dans le projet pour lequel ils sont construits. Donc un projet c/C++ n'a pas de sens.

Le code commun sera archivé dans un dépôt de subversion (tout comme chaque projet). Je pourrais utiliser "Nouveau dossier -> Ressource liée" mais je préférerais garder les projets indépendants de la structure de répertoires que le développeur utilise.

Existe-t-il un moyen propre de le faire?

Merci.

+0

Vous avez donc 3 répertoires. CommonCode (pas un projet Eclipse) Project1 (Projet CDT) Project2 (Projet CDT) Pourquoi ne pouvez-vous pas lier dans Project1 et Project2 la source CommonCode? – fabrizioM

+0

Voulez-vous dire quelque chose comme: #include "../myinc.h"? – JeffV

Répondre

3

Je ne suis pas sûr que cela fonctionnera pour votre version d'Eclipse, ou pour CDT (j'ai testé avec Java), mais il semble que vous devriez créer un deuxième dossier source. Comme un dossier source est généralement privé pour le projet dans lequel il existe, vous devez créer un dossier lié ... (à partir de votre description ci-dessus je pense que vous l'avez peut-être déjà fait, mais pour l'exhaustivité de la réponse j'inclue les étapes ci-dessous).

je l'ai fait de cette façon:

  1. Créer un nouvel élément dans votre projet
  2. Sélectionner un dossier (pas un dossier source, mais un simple dossier)
  3. Dans la boîte de dialogue de création de dossiers, cliquez sur l'onglet « Avancé >> » bouton et cochez la case « » case à cocher
  4. Cliquez sur « Lien vers le dossier dans le système de fichiers Parcourir » et sélectionnez le dossier des fichiers source commune
  5. Cliquez sur terminer

Vous avez maintenant un dossier simple, mais afin d'inclure les fichiers dans le dossier dans votre compilation (au moins en Java, il fonctionne de cette façon), vous devez créer un dossier source:

  1. Créer une nouvel élément dans votre projet
  2. Sélectionnez « dossier source »
  3. Cliquez sur « Parcourir » à côté de la zone de texte « nom du dossier »
  4. Sélectionnez votre nouveau dossier lié

Maintenant, dans ma version d'Eclipse, et en Java, ce dossier est inclus dans la compilation du code. Il fonctionne de la même manière dans CDT ...

Si vous exécutez un système d'exploitation avec de vrais liens symboliques (Linux, OSX?), Vous pouvez également utiliser un dossier symlinked dans votre projet pour le dossier source supplémentaire, puis vous devriez être capable de faire simplement le "dossier source" -creation étapes ci-dessus.

Si votre version d'Eclipse n'a pas de bouton "Parcourir" dans la boîte de dialogue de création du dossier source, essayez simplement de taper le même nom dans la zone de texte.

Cordialement,

/E

+0

P.s. et AFAIK le deuxième ensemble d'étapes peut être effectué pour un dossier indépendamment d'où il vient, mais sont nécessaires afin d'inclure le dossier dans la compilation. D.s. – Erik

Questions connexes