"다중 대상 패턴"Makefile 오류
내 makefile이 오류와 함께 실패합니다.
Makefile:34: *** multiple target patterns. Stop.
어떤 의미의 바는 무엇이며 어떻게하는 수 있습니까?
( Captain Obvious는 GNU 가 설명서를 만들지 않습니다.)
그것을 발견. 나는 형태로 규칙이 있었다 :
$(FOO): bar
FOO
콜론을 포함하는 오류 메시지로 오염시킨 쉘 명령에서 위치 .
Makefile에 있었어요
MAPS+=reverse/db.901:550:2001.ip6.arpa
lastserial: ${MAPS}
./updateser ${MAPS}
:
파일 이름 때문입니다 . 나는 주인
-------- 공지 / / vv MAPS + = 역방향 / db.901 \ : 550 \ : 2001.ip6.arpa lastserial : $ {MAPS} ./updateser $ {MAPS}
원래 답변에서와 같이 콜론을 이스케이프해야하는 것 외에 들여 쓰기가 해제되었습니다. 한 메이크 파일에서 공백을 탭으로 바꿔야 그 결과 오류를 불량 할 수 있습니다.
Cygwin은 자동 생성 파일을 사용하고 있기 때문에 오류가 발생하면 다음과 같은 상황이 발생합니다.
sed -e 's@\\\([^ ]\)@/\1@g' -e 's@[cC]:@/cygdrive/c@' -i filename.d
첫 번째 대체에서 이스케이프 목록에 공백 이상의 문자를 추가해야 할 수도 있습니다. 여기서 개념은 / cygdrive / c가 c의라는 것입니다. cygwin의 make가 인식 할 것입니다.
그리고 던질 수 있습니다.
-e 's@^ \+@\t@'
(나는 / 생각합니다 / 이것은 일반적으로 "구분자 누락"오류).
나는 같은 오류를 만났다. 고생 한 끝에 폴더 이름의 "공백"때문이라는 것을 알았습니다.
예 :
이전에 내 폴더 이름은 "Qt Projects" 였습니다.
나중에 "QtProjects"로 변경했습니다.
내 문제가 해결되었습니다.
매우 간단하지만 중요한 문제입니다.
-n
내 GREP_OPTIONS
환경 변수 에 있었기 때문에이 문제 (대상 이름의 콜론)가 많은 . 분명히 이로 인해 잘못 configure
생성되었습니다 Makefile
.
참고 URL : https://stackoverflow.com/questions/2100448/multiple-target-patterns-makefile-error
'ProgramingTip' 카테고리의 다른 글
C #의 암호 (0) | 2020.11.02 |
---|---|
코드 흐름을하는 도구 (C / C ++) (0) | 2020.11.02 |
스칼라 변수를 선언해야합니다. (0) | 2020.11.02 |
셸 명령의 결과로 CMake 변수를 초기화하는 방법 (0) | 2020.11.02 |
log4net 대 TraceSource (0) | 2020.11.02 |