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

Systèmes de compilation Discussion :

[débutant]probleme avec makefile-module objet non créé


Sujet :

Systèmes de compilation

  1. #1
    Invité
    Invité(e)
    Par défaut [débutant]probleme avec makefile-module objet non créé
    Bonjour,

    Je tente d'utiliser un makefile pour compiler.
    Voici son contenu:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #Instruction:
    #cible: dépence_cible.o main.o(ou autre_cible.o..)
    # <TAB> commande
    #
    sapan.o: sapan.c
            gcc -o -lm sapan.o -c sapan.c
    main.o: main.c sapan.h
            gcc -o -lm  main.o -c main.c
     
     
    sapan: sapan.o main.o
            gcc -o -lm  sapan sapan.o main.o
    une fois tappé : make en ligne de commande j'ai en retour:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    gcc -o -lm sapan.o -c sapan.c
    gcc: sapan.o: Aucun fichier ou répertoire de ce type
    make: *** [sapan.o] Erreur 1
    zsh: exit 2     make
    Du coup aucun n'executable de disponible.

    Pouvez m'aider à résoudre de problème?svp!

  2. #2
    Membre averti
    Avatar de Foobar1329
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 283
    Points : 387
    Points
    387
    Par défaut
    Hello,

    Citation Envoyé par sysyphe
    Bonjour,

    Je tente d'utiliser un makefile pour compiler.
    Voici son contenu:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #Instruction:
    #cible: dépence_cible.o main.o(ou autre_cible.o..)
    # <TAB> commande
    #
    sapan.o: sapan.c
            gcc -o -lm sapan.o -c sapan.c
    main.o: main.c sapan.h
            gcc -o -lm  main.o -c main.c
     
     
    sapan: sapan.o main.o
            gcc -o -lm  sapan sapan.o main.o
    une fois tappé : make en ligne de commande j'ai en retour:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    gcc -o -lm sapan.o -c sapan.c
    gcc: sapan.o: Aucun fichier ou répertoire de ce type
    make: *** [sapan.o] Erreur 1
    zsh: exit 2     make
    Du coup aucun n'executable de disponible.

    Pouvez m'aider à résoudre de problème?svp!
    La syntaxe des commandes gcc n'est pas bonne, l'option -o attend directement le nom du fichier produit en sortie. Sinon, -lm est inutile lorsque tu génères tes fichiers objets intermédiaires avec l'option -c, il n'y a pas d'édition de liesns effectuée.

    Une correction :

    sapan.o: sapan.c
    gcc -o sapan.o -c sapan.c
    main.o: main.c sapan.h
    gcc -o main.o -c main.c

    sapan: sapan.o main.o
    gcc -o sapan -lm sapan.o main.o
    A+

  3. #3
    Invité
    Invité(e)
    Par défaut eh! l'exec "sapan" , t'es où?
    Citation Envoyé par Foobar1329

    Une correction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    sapan.o: sapan.c
    gcc -o sapan.o -c sapan.c
    main.o: main.c sapan.h
    gcc -o main.o -c main.c
     
    sapan: sapan.o main.o
    gcc -o sapan -lm sapan.o main.o

    Ok, je comprends mieux.
    Mais l'ordres des instructions à t'il un sens?
    Car la compile se fait sans problème mais il manque l'exécutable "sapan", il n'est pas généré.

  4. #4
    Membre averti
    Avatar de Foobar1329
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 283
    Points : 387
    Points
    387
    Par défaut
    Hello,

    Citation Envoyé par sysyphe
    Ok, je comprends mieux.
    Mais l'ordres des instructions à t'il un sens?
    Car la compile se fait sans problème mais il manque l'exécutable "sapan", il n'est pas généré.
    "make sapan" car sapan est la cible à exécuter. Si tu entres make tout court, make exécute par défaut la première cible trouvée, donc seulement sapan.o sera généré. Pour ne pas à avoir à saisir make sapan, il suffit d'inverser les cibles et les mettre en sens ascendant .
    A+

  5. #5
    Membre habitué Avatar de Ksempac
    Inscrit en
    Février 2007
    Messages
    165
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 165
    Points : 185
    Points
    185
    Par défaut
    Par défaut, make tente de réaliser la premiere cible. Dans ton cas sapan.o

    Si il a besoin de fichiers qu'ils ne trouvent pas (par exemple des .o) il tente de les trouver parmi les autres cibles.

    exemple :

    a : c.o
    gcc ...

    b.o : ...
    gcc ...

    c.o :
    gcc ...
    dans cet exemple, la premiere cible est a, c'est donc la cible finale du Makefile. make tente de la realiser, et trouve qu'il a besoin de c.o pour ca. Il cherche alors dans les cibles, et trouve une commande pour obtenir c.o. Il genere c.o puis a (qui n'a pas d'autres dependances que c.o) et s'arrete : b.o n'est jamais créé.

    EDIT : grillé

  6. #6
    Invité
    Invité(e)
    Par défaut Thanks you!
    Okey guys!
    MERCI!

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

Discussions similaires

  1. Probleme avec le module ParseExcel
    Par Jim_Nastiq dans le forum Modules
    Réponses: 5
    Dernier message: 10/04/2006, 13h36
  2. Problème avec K3B : graveur DVD non reconnu
    Par HNT dans le forum Applications et environnements graphiques
    Réponses: 11
    Dernier message: 20/03/2006, 10h50
  3. [débutant] Probleme avec switch et héritage
    Par durk dans le forum Langage
    Réponses: 2
    Dernier message: 21/04/2005, 09h48
  4. [C#][débutant] Probleme avec un case
    Par Le Basque dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/01/2005, 12h45
  5. Réponses: 3
    Dernier message: 11/01/2005, 08h20

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