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

Shell et commandes GNU Discussion :

Problème avec la commande MAKE


Sujet :

Shell et commandes GNU

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Points : 21
    Points
    21
    Par défaut Problème avec la commande MAKE
    Bonjour à tous,
    Je viens d'installer Mandrake 10.1 sur mon portable et j'ai un probléme avec la commande make.
    Je souhaitais compiler un programme en C++ avec un makefile. Ce makefile marche très bien à l'école mais chez moi il me dit:
    makefile:2: *** séparateur manquant. Arrêt.
    Comment remedier à ce problème?
    Merci d'avance pour votre aide.

  2. #2
    Membre régulier Avatar de kaisse
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 100
    Points : 117
    Points
    117
    Par défaut
    C'est peut-être une tabulation qui n'est pas à sa place.
    Mais si tu ne nous mets pas le code du Makefile ... et bien on risque de ne pas pouvoir t'aider !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    Ah pardon le voici :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    %.o : %.cpp 
    	g++ -c -g $*.cpp
     
     
    robot.exe : main.o Robot.o ALarretEnCharge.o ALarretAVide.o EnRoute.o EtatRobot.o Fige.o ObservateurAfficheur.o ObservateurRobot.o Commande.o CommandeFiger.o CommandeRepartir.o CommandeAvancer.o CommandePoser.o
    	g++ -o robot.exe ALarretEnCharge.o ALarretAVide.o EnRoute.o EtatRobot.o Fige.o main.o Robot.o ObservateurAfficheur.o ObservateurRobot.o Commande.o CommandeFiger.o CommandeRepartir.o CommandeAvancer.o CommandePoser.o
     
    clean : 
    	-rm -f *.o
    	-rm -f *.exe
     
    run: robot.exe
    	./robot.exe
     
     
    ALarretEnCharge.o: ALarretEnCharge.cpp ALarretEnCharge.h EnRoute.h EtatRobot.h Position.h Robot.h ObservateurRobot.h
    ALarretAVide.o: ALarretAVide.cpp ALarretAVide.h EnRoute.h EtatRobot.h Position.h Robot.h ObservateurRobot.h
    EnRoute.o: EnRoute.cpp EnRoute.h EtatRobot.h Position.h Robot.h ObservateurRobot.h
    EtatRobot.o: EtatRobot.cpp Robot.h Position.h EtatRobot.h ObservateurRobot.h
    Fige.o: Fige.cpp Fige.h EtatRobot.h Position.h Robot.h ObservateurRobot.h
    ObservateurAfficheur.o: ObservateurAfficheur.cpp ObservateurAfficheur.h ObservateurRobot.h
    ObservateurRobot.o: ObservateurRobot.cpp ObservateurRobot.h
    main.o: main.cpp Robot.h Position.h EtatRobot.h ObservateurRobot.h ALarretAVide.h EnRoute.h Fige.h ALarretEnCharge.h
    Robot.o: Robot.cpp Robot.h Position.h EtatRobot.h ObservateurRobot.h 
    Commande.o:Commande.cpp Robot.h Commande.h 
    CommandeFiger.o:CommandeFiger.cpp CommandeFiger.h Commande.h Robot.h
    CommandeRepartir.o:CommandeRepartir.cpp CommandeRepartir.h Commande.h Robot.h
    CommandeAvancer.o:CommandeAvancer.cpp CommandeAvancer.h Commande.h Robot.h
    CommandePoser.o:CommandePoser.cpp CommandePoser.h Commande.h Robot.h

  4. #4
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Il existe de nombreux "make"... Le plus repandu sous Linux doit etre gmake... Il est possible que tu n'ai pas le meme que dans ton ecole. Globalement, le Makefile ne parait pas horible, y'a guere que des espaces qui me semblent pas judicieux. L'erreur indique la ligne 2 :

    Personellement, j'aurai mis :

    Je suis sous FreeBSD, et aussi bien gmake que le make de FreeBSD acceptent ces deux syntaxes ... A tester cependant.

    Note que gl a fait un tutoriel assez sympa (Avis perso qui n'engage que moi) sur les Makefiles :
    http://gl.developpez.com/tutoriel/outil/makefile/

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    En fait la ligne 2 est:
    et non pas donc je vois pas trop ce qui peut clocher ici.
    Pourtant c'est exactement le même qu'à mon école vu que je l'ai mis sur ma clé USB...
    Merci pour ton aide

  6. #6
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    J'avais compté la ligne blanche en haut... Donc c'est un problème de syntaxe ... Il faut être rigoureux :
    Citation Envoyé par [url=http://gl.developpez.com/tutoriel/outil/makefile/#L2
    gl[/url]] Chaque commande est précédée d'une tabulation.
    Une tabulation, pas un (ou plusieurs espaces)... Certains éditeurs transforment les tabulations en espaces, cela peut avoir corompu ton Makefile... Si tu utilise un editeur qui tient un minimum la route (Mettons vim ) et ouvre ton Makefile, il y a des chances que ladite ligne s'affiche avec un fond rouge, synonyme d'erreur critique (Sous réserve d'activer la coloration syntaxique...)

    Et là, ca doit compiler ... Si toujours pas, ca ne viens pas que de là ... Essaye de faire un gmake au lieu d'un make ...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    Merci Smortex, ça marche avec la tabulation devant la ligne.
    C'est bizarre car j'avais pas besoin de la mettre à l'école.

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/01/2015, 19h45
  2. Problème avec commande make install
    Par franco9 dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 06/12/2012, 12h22
  3. [C++] Problème avec la commande "make"
    Par quantik-revolution dans le forum Systèmes de compilation
    Réponses: 6
    Dernier message: 02/04/2006, 18h17
  4. Comment aller a la ligne avec la commande ECHO
    Par juflata dans le forum Windows
    Réponses: 3
    Dernier message: 23/06/2004, 17h11
  5. Prblème avec la commande system
    Par AnneOlga dans le forum C++Builder
    Réponses: 8
    Dernier message: 04/03/2004, 16h05

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