광산을 컴파일하려고 할 때 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
[…]