Makefile-séparateur manquant [dupliquer]

possible Duplicate:

erreur: séparateur manquant

avoir ce code dans makefile:

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

clean:
rm $(PROG)

et l'erreur

missing separator. stop.

quelqu'un Peut-il m'aider?

71
demandé sur Community 2013-01-01 14:41:09

1 réponses

vous devez précéder les lignes commençant par gcc et rm avec un onglet dur. Les commandes dans les règles make doivent commencer par un onglet (à moins qu'elles ne 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 peut être configuré pour insérer une séquence d'espaces au lieu d'un onglet. S'il y a des espaces au début de ces lignes, vous verrez aussi l'erreur de "séparateur manquant". Si vous n'avez pour insérer des onglets durs, utilisez le point-virgule:

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

clean: ; rm $(PROG)
198
répondu Jens 2013-01-01 10:59:17