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

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
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
jack
 
qui peut m'aider à faire le makefile de ces 2 fichiers svp , je comprends vraiment pas les makefile ...
0
jack
 
?
0
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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
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
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
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