Makefile:12: *** 구분 기호가 누락되었습니다. 그만해 [반복]

Makefile:12: *** 구분 기호가 누락되었습니다. 그만해 [반복]

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

관련 정보