1. #1
    Membre chevronné
    Avatar de mamelouk
    Profil pro
    Inscrit en
    mai 2005
    Messages
    867
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : mai 2005
    Messages : 867
    Points : 780
    Points
    780

    Par défaut Pourquoi vous devriez utiliser votre propre Makefile

    Je conseille aux utilisateurs d'Eclipse CDT d'écrire eux meme le makefile (ou cmake, ou scons, ou autre) qui compile leur projet, pour ces multiples raisons:

    1) un projet eclipse ne peut gérer qu'un seul executable (ou librairie, selon le type de votre projet). si vous avez plusieurs executables à compiler (tel que des tests), il faudrait creer autant de projets!!

    2) la manière d'indiquer quelles librairies le projet doit utiliser est assez rébarbative. (clic droit -> propriétés -> c++ linker -> ajouter -> taper le nom de la lib -> entrée -> recommencer). s'il y a beaucoup de libs à utiliser, c'est beaucoup plus simple de l'indiquer dans un makefile.

    3) vous ne pouvez pas utiliser d'outils de détection de libs installés tels que pkg-config

    4) cela vous force à comprendre les étapes de compilation en C/C++ (de nombreux débutants viennent demander <pourquoi le compilateur me dis "undefined reference to function()" alors j'ai bien inclus "myLib.h"> ...)

    5) liste non exhaustive : voir la discussion ci dessous pour d'autres raisons

    Une fois que vous aurez écrit votre propre fichier makefile, il suffit d'utiliser la fenetre "make target" pour gérer votre compilation depuis l'interface d'Eclipse

    Débugger du code est deux fois plus dur que d'en écrire.
    Donc, si vous écrivez votre code aussi intelligemment que vous le pouvez, vous n'etes, par définition, pas assez intelligent pour le débugger.

  2. #2
    Invité de passage
    Inscrit en
    septembre 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : septembre 2008
    Messages : 2
    Points : 1
    Points
    1

    Par défaut multi cible pour un seul projet

    Bonjour,

    Concernant la génération d'un seul exécutable par projet Eclipse, je suis tombé là dessus :

    http://www.eclipse.org/dsdp/tml/arch...ildTargets.pdf

    Ca à l'air pas mal du tout leur truc mais je ne connais pas les NewWizzardPages...



    Morteus

  3. #3
    Membre éclairé

    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    février 2005
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : février 2005
    Messages : 372
    Points : 359
    Points
    359

    Par défaut

    Je souhaite ajouter ceci :
    _ Les paramètres du makefile sont écrits dans les fichiers projets "cdt" (.cdtbuild, .cdtproject, .project) qui ne sont pas portables d'une version d'Eclipse/cdt à une autre et voir même d'un poste à un autre (car des chemins sont définits en absolus pour le projet !. J'en ai fait la triste experience ou nombre d'infos étaient perdues.

    _ Le makefile n'est pas portable : il y a de grandes chances pour qu'il ne puisse être appelé en dehors d'Eclipse. si vous spécifiez des chemins d'include additionnel ou de recherche dans les libs vous les aurez dans les fichiers mk dans la ligne de compilation et non dans des variables globales. Je n'ai jamais réussi à fixer un environnement de compilation avant d'appeler la compilation via Eclipse. Ce qui veut dire que de toute manière en passant le projet à quelqu'un d'autre il devra installer Eclipse pour modifier via l'interface l'environnement de compilation et regénérer le makefile.
    _ la commande 'clean projet' d'Eclipse efface tout le répertoire de compilation ainsi que le makefile généré. C'est pourtant la première chose que l'on fait quand on récupère le projet d'un autre : recompiler. Pour peu que l'on ait pas noté son contenu, et que l'on ait pas réparé les importations d'un projet c'est partit pour des heures de galère.
    Selso.
    Ingénieur développement informatique industrielle.

  4. #4
    Membre du Club Avatar de _KB_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mars 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mars 2006
    Messages : 102
    Points : 59
    Points
    59

    Par défaut

    Citation Envoyé par mamelouk Voir le message
    Une fois que vous aurez écrit votre propre fichier makefile, il suffit d'utiliser la fenetre "make target" pour gérer votre compilation depuis l'interface d'Eclipse

    Je me permets d'ajouter que pour créer une cible à l'aide de Make Target, votre projet doit être de type C/C++.
    S'il ne l'est pas il faut le convertir.

    Par ailleurs si quelqu'un à une idée pour mon problème.
    Même en désactivant le build automatique le problème persiste.
    Comme le disait Heisenberg « Chérie, j’ai garé la voiture, mais je sais plus où »

Discussions similaires

  1. Pourquoi ne pas utiliser Word, Excel, Powerpoint ?
    Par kisitomomotene dans le forum Autres outils décisionnels
    Réponses: 23
    Dernier message: 08/09/2006, 18h02
  2. Comment compiler avec son propre makefile
    Par thecrafty dans le forum Code::Blocks
    Réponses: 1
    Dernier message: 02/08/2006, 18h25
  3. Sécurité Access, utiliser sa propre table utilisateur
    Par flash2590 dans le forum Sécurité
    Réponses: 2
    Dernier message: 12/12/2005, 16h47
  4. utilisation d'un makefile sous windows
    Par semenzato dans le forum Windows
    Réponses: 1
    Dernier message: 30/08/2005, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo