![Makefile:12: *** 区切り記号がありません。やめて[繰り返し]](https://linux33.com/image/229095/Makefile%3A12%3A%20***%20%E5%8C%BA%E5%88%87%E3%82%8A%E8%A8%98%E5%8F%B7%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%82%84%E3%82%81%E3%81%A6%5B%E7%B9%B0%E3%82%8A%E8%BF%94%E3%81%97%5D.png)
鉱山をコンパイルしようとすると、makefile
同じエラーメッセージが繰り返し表示されます。
Makefile:12: *** missing separator. Stop
タブを削除し、スペースを削除し、makefile
完全に削除し、すべてを試しましたが、まだ同じメッセージが表示されます。助けてください。
CC = g++
CFLAGS = -std=c++11
TARGET = proj1.x
SOURCES = driver.cpp
proj1.x: driver.cpp
g++ -std=c++11 -o proj1.x driver.cpp
.PHONY: clean
clean:
rm -f proj1.x
答え1
書かれた通りコメント、ここで問題はTabインデントを使用しないことはほぼ確実ですMakefile
。タグを削除しました「、これは問題だ。
タブ(追加のスペースにインデントされず、正しいタブ、ASCII文字9)を使用するようにファイルを変換し、私の場合に記載されているエラーが消えたことを確認しました。
# Your makefile
make
makefile:7: *** missing separator. Stop.
# Convert indents to tab
mv -f makefile{,.old} && sed -E 's/^ {3,}/\t/' makefile.old >makefile
# Retry your makefile
make
g++ -std=c++11 -o proj1.x driver.cpp
[…]