Compilation

jack -  
 toto -
Bonsoir , je viens de créer un programme en C qui affiche l'alphabet , le programme est composé de 2 fichiers , un main.c , et un my_alphabet1.c :

#include <stdio.h>

int main(void)

{

my_alphabet1()

return 0;

}


et :

int my_alphabet1()

{

char c;

for ( c = 'a'; c <= 'z'; ++c)

putchar(c);

}


pour les compiler ensemble , je dois faire un makefile , je veux que les fichiers compilent normalement ensemble , sans complication , comment réaliser ceci ? merci de votre aide .

8 réponses

  1. MissZaza Messages postés 149 Statut Membre 33
     
    Bonsoir,

    Voilà un lien où ils expliquent comment créer un makefile :
    http://gl.developpez.com/tutoriel/outil/makefile/

    Par contre, il faut déclarer ta fonction my_alphabet1() pour le main, autrement il ne la trouvera pas.
    Soit tu la déclares en extern au début du fichier main.c.
    Soit tu crées un fichier my_alphabet1.h dans lequel tu déclares ta fonction my_alphabet1() et tu inclues cet header dans ton main.c.

    Bon courage.
    0
  2. jack
     
    merci , j'ai été voir le tuto sur developpez depuis longtemps mais je le trouve mal fait , je n'y comprends rien , après l'avoir relu moi je suis incapable de faire mon makefile ...
    0
  3. jack
     
    qui peut m'aider à faire le makefile de ces 2 fichiers svp , je comprends vraiment pas les makefile ...
    0
  4. jack
     
    ?
    0
    1. MissZaza Messages postés 149 Statut Membre 33
       
      Bonsoir,

      Vu que y'a pas beaucoup de candidats, je vais essayer de t'aider.
      Tout d'abord, quel est le compilateur et l'OS que tu utilises ?
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. fredo10 Messages postés 32 Statut Membre 15
     
    la je te file un makefile que tu pourras exploiter si tu ne comprends pas certaines lignes fais le savoir ok.bon courage!
    NAME = (choix libre d'un nom de fichier)

    SRC = (noms de tes fichiers separes d'un espace)

    OBJ = $(SRC:.c=.o)

    RM = rm -f

    all : $(NAME)

    $(NAME): $(OBJ)
    cc $(OBJ) -o $(NAME)

    clean:
    $(RM) *~ \#*
    $(RM) $(OBJ)

    fclean: clean
    $(RM) $(NAME)

    re: fclean all
    0
  7. jack
     
    non mais moi en fait à partir de ma phrase en français je veux savoir construire mon makefile , là je ne comprends pas ce que tu marques , dans ma tete j'ai cette phrase :

    je veux que mes 2 fichiers sont compilés avec le compilateur gcc , tout simplement , je veux rien d'autres , car là je pige rien du tout à toutes vos écritures , j'ai pas besoin de 50 options , je veux juste compilés 2 fichiers ensemble .
    0
    1. MissZaza Messages postés 149 Statut Membre 33
       
      Bonsoir,

      Si tu veux simplement compiler tes fichiers, essayes ces commandes :
      Pour compiler un fichier :
      gcc -c -Wall fichier.c

      Pour compiler 2 fichiers et créer l'exécutable :
      gcc -o prog -Wall main.c my_alphabet1.c

      avec prog = exécutable généré.
      Bon courage.
      0
  8. toto
     
    slt
    pour le makefile tu crée un fichier dans le mm repertoire tu le donne le nom"makefile"
    dans ce fichier tu met:
    tout les parties fonctions et fichiers "le pb que j'ai oublier la structure exacte"
    la compilation gcc -c makefile ton exercice.c
    0
  9. toto
     
    slt
    pour le makefile tu crée un fichier dans le mm repertoire tu le donne le nom"makefile"
    dans ce fichier tu met:
    tout les parties fonctions et fichiers "le pb que j'ai oublier la structure exacte"
    la compilation gcc -c makefile ton exercice.c
    0