Bonjour,
j’ai créé 4 fichiers (bonjour.h, bonjour.c, main. et un makefile). Comme leur nom l’indique le code que je vais écrire doit juste affiché bonjour.
bonjour.h
#ifndef H_BONJOUR
#define H_BONJOUR
void Bonjour(void);
#endif
bonjour.c
[code]#include <stdio.h>
#include <stdlib.h>
void Bonjour(void)
{
printf(“bonjour\n”);
}
[/code]
main
[code]#include <stdio.h>
#include <stdlib.h>
#include “bonjour.h”
int main(void)
{
Bonjour();
return 0;
}[/code]
makefile
[code]CC=gcc
CFLAGS=-W -Wall -ansi -pedantic
LDFLAGS=
EXEC=bonjour
all: $(EXEC)
bonjour: bonjour.o main.o
gcc -o $@ $^ $(LDFLAGS)
%.o: %.c
gcc -o $@ -c $ $(CFLAGS)
main.o: bonjour.h
clean:
rm -rf *.o
mrproper:
rm -rf $(EXEC)
[/code]
mais apparemment cela ne marche pas car lorsque je fait un make all (qui doit appelé mon code et créé le programme bonjour (que je lance en faisant $ ./bonjour)je me retrouve avec:
[code]USER@debian:~/Documents$ ls
bonjour.c bonjour.h main.c Makefile Makefile~
USER@debian:~/Documents$ make all
gcc -o bonjour.o -c -W -Wall -ansi -pedantic
gcc: fatal error: no input files
compilation terminated.
make: *** [bonjour.o] Erreur 4
[/code]
J’aimerais bien savoir où est l’erreur et comment la corriger surtout.
Merci.