Compilation

Fermé
jack - 2 déc. 2005 à 22:40
 toto - 4 déc. 2005 à 18:46
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 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 7 décembre 2005 33
2 déc. 2005 à 22:55
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
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
qui peut m'aider à faire le makefile de ces 2 fichiers svp , je comprends vraiment pas les makefile ...
0
?
0
MissZaza Messages postés 149 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 7 décembre 2005 33
3 déc. 2005 à 21:13
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 31 Date d'inscription vendredi 25 novembre 2005 Statut Membre Dernière intervention 4 février 2006 15
3 déc. 2005 à 21:23
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
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 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 7 décembre 2005 33
4 déc. 2005 à 17:54
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
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
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