![Makefile:12: *** 구분 기호가 누락되었습니다. 그만해 [반복]](https://linux55.com/image/229095/Makefile%3A12%3A%20***%20%EA%B5%AC%EB%B6%84%20%EA%B8%B0%ED%98%B8%EA%B0%80%20%EB%88%84%EB%9D%BD%EB%90%98%EC%97%88%EC%8A%B5%EB%8B%88%EB%8B%A4.%20%EA%B7%B8%EB%A7%8C%ED%95%B4%20%5B%EB%B0%98%EB%B3%B5%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
[…]