IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres éditeurs Discussion :

Souci de compilation


Sujet :

Autres éditeurs

  1. #1
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut Souci de compilation
    Bonjour,
    je viens de lire le tutoriel sur le makefile et j'avoue qu'il est extremement complet et pédagogique.
    Toutefois, il persiste un problème que je n'arrive pas à résoudre:
    Mes fichiers *.c sont dans Srs/, mes header *.h dans Include/ et je souhaiterai mettre les objets *.o dans Lib/. J'ai réussi à odifier le makefile pour que le compilateur trouve mes source (en faisant un SRCDIR=Src) et mes headers en ajoutant "-I$(HEADDIR)" à la compilation car "HEADDIR=Include", mais je n'arrive pas à mettre automatiquement mes fichiers *.o dans Lib/

    Est ce que quelqu'un pourrait m'aider ?? Merci par avance...

    PS : Voilà mon makefile actuel.
    CC=gcc
    SRCDIR=Src
    HEADDIR=Include
    LIBDIR=Lib
    CFLAGS=-Wall -pedantic -I$(HEADDIR)
    LDFLAGS=-Wall -pedantic -I$(HEADDIR)
    GLLIBS = -ltiff -framework OPENGL -framework GLUT -framework GLUI -lobjc -lstdc++
    EXEC=ToTo
    SRC= $(wildcard $(SRCDIR)/*.c)
    OBJ= $(SRC:.c=.o)

    all: $(EXEC)

    ToTo: $(OBJ)
    $(CC) -o $@ $^ $(LDFLAGS) $(GLLIBS)

    %.o: %.c
    $(CC) -o $@ -c $< $(CFLAGS)

    .PHONY: clean Clean
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Euh juste pour information, dans lib, généralement on met les bibliothèques, pas les fichiers objets.

  3. #3
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Merci, c'est un nom comme un autre, je met aussi Obj a dépend de l'humeur
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  4. #4
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    N'étant de loin pas un expert en makefile, il m'est déjà arrivé de vouloir faire ce que tu veux et je m'y suis pris comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    CC=gcc
    SRCDIR=Src
    HEADDIR=Include
    OBJDIR=Obj
    CFLAGS=-Wall -pedantic -I$(HEADDIR)
    LDFLAGS=-Wall -pedantic -I$(HEADDIR)
    EXEC=ToTo
    SRC= $(wildcard $(SRCDIR)/*.c)
    OBJ= $(SRC:$(SRCDIR)/%.c=$(OBJDIR)/%.o)
     
    all: $(EXEC)
     
    ToTo: $(OBJ)
          $(CC) -o $@ $^ $(LDFLAGS) $(GLLIBS)
     
    $(OBJDIR)/%.o: $(SRCDIR)/%.c
          $(CC) -o $@ -c $< $(CFLAGS)
     
    .PHONY: clean Clean
    Comme tu le vois, j'ai juste changé ta façon de créer les OBJ pour qu'on prenne en compte le changement de répertoire.

    Ensuite dans la création des .o, j'ai mis un masque pour changer le répertoire. Cette solution marche tant que tous tes sources sont dans le même répertoire et les .o sont dans le même repertoire (quoique avec quelques conditions, cela pourrait probablement marcher pour une arborescence aussi...)

    Espérant que cela aide,
    Jc

  5. #5
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    merci mon gars, t'es le meilleur !!!!
    8)
    Cela fait un mois que je cherche à faire cela. J'ai maintenant un makefile qui marche super bien.

    Merci encore...
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] souci de compilation
    Par Ivory69 dans le forum wxWidgets
    Réponses: 1
    Dernier message: 03/05/2007, 16h17
  2. Soucis de compilation !
    Par nhlx5haze dans le forum C
    Réponses: 5
    Dernier message: 03/02/2007, 11h17
  3. [Borland C++ 5.5] Souci de compilation
    Par Coolcoolman dans le forum Autres éditeurs
    Réponses: 8
    Dernier message: 12/11/2006, 23h38
  4. Souci de compilation avec des gros projets avec BC5++
    Par SOPRA-Eherve dans le forum C++Builder
    Réponses: 7
    Dernier message: 10/05/2006, 21h23
  5. DRIVER - fonctions dispatch - soucis de compilation
    Par - Robby - dans le forum Windows
    Réponses: 1
    Dernier message: 26/01/2006, 21h13

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