1. ホーム
  2. makefile

[解決済み] Makefile - セパレータがない [重複].

2023-02-27 16:23:23

質問

重複の可能性があります。

メイクエラー:セパレータがありません

makefileにこのコードを記述してください。

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

clean:
rm $(PROG)

というエラー

missing separator. stop.

誰か助けてください

どのように解決するのですか?

で始まる行の前に gccrm はハードタブで始まります。makeルールのコマンドは、(同じ行でセミコロンに続く場合を除き)タブで始まることが要求されます。 結果はこのようになるはずです。

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

clean:
        rm $(PROG)

エディタによっては、ハードタブの代わりに一連の空白を挿入するように設定されている場合があることに注意してください。これらの行の先頭にスペースがある場合、"missing separator"というエラーも表示されます。ハードタブの挿入に問題がある場合は、セミコロンの方法を使用してください。

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

clean: ; rm $(PROG)