92

重複の可能性:
エラーを作成: セパレーターがありません

このコードをメイクファイルに入れます。

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

clean:
rm $(PROG)

そしてエラー

missing separator. stop.

誰かが私を助けることができますか?

4

1 に答える 1

236

gccハードタブで始まる行の前にrmハードタブを付ける必要があります。make 規則のコマンドは、タブで開始する必要があります (同じ行でセミコロンに続く場合を除きます)。結果は次のようになります。

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

clean:
        rm $(PROG)

一部のエディターは、ハード タブの代わりに一連のスペースを挿入するように構成されている場合があることに注意してください。これらの行の先頭にスペースがある場合は、「区切り文字がありません」というエラーも表示されます。ハードタブの挿入に問題がある場合は、セミコロンの方法を使用してください:

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

clean: ; rm $(PROG)
于 2013-01-01T10:51:26.543 に答える