92 votes

Makefile - séparateur manquant

Duplicata possible :
Erreur de fabrication : séparateur manquant

Avoir ce code dans le makefile :

PROG = semsearch
all: $(PROG)
%: %.c
gcc -o $@ $< -lpthread

clean:
rm $(PROG)

et l'erreur

missing separator. stop.

Quelqu'un peut-il m'aider ?

237voto

Jens Points 17702

Vous devez faire précéder les lignes commençant par gcc y rm avec une languette dure. Les commandes dans les règles make doivent commencer par une tabulation (sauf si elles suivent un point-virgule sur la même ligne). Le résultat devrait ressembler à ceci :

PROG = semsearch
all: $(PROG)
%: %.c
        gcc -o $@ $< -lpthread

clean:
        rm $(PROG)

Notez que certains éditeurs peuvent être configurés pour insérer une séquence d'espaces au lieu d'une tabulation. S'il y a des espaces au début de ces lignes, vous verrez également l'erreur "séparateur manquant". Si vous avez des problèmes pour insérer des tabulations, utilisez la méthode du point-virgule :

PROG = semsearch
all: $(PROG)
%: %.c ; gcc -o $@ $< -lpthread

clean: ; rm $(PROG)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X