1
모든 지역 나는 그것은 작동하지 않습니다이 도움이 규칙MOC 메이크 규칙
moc_%.cpp: %.h
$(MOC) $(DEFINES) $(INCLUDES) $< -o [email protected]
을 보고 계속 검색 할 수 있습니다. Makefile가는
MOC:= /path/to/moc
.PHONY clean:
rm moc_*.cpp
moc: moc_file.cpp
#moc_file.cpp: file.h # this works
# $(MOC) $< -o [email protected]
moc_%.cpp: %.h
$(MOC) $< -o [email protected]
주석 처리 된 행은 작동하지만 일반 규칙은 그렇지 않습니다. 그것은 밖으로 인쇄합니다 No rule to make target 'moc_file.cpp', needed by 'moc'
사람이 왜 또는 내가 뭘 잘못하고있는 통찰력을 줄 수 있습니까?
대신, 당신이 그들을 적용 할 대상의 목록을 앞에 붙여 정적 패턴 규칙로 돌립니다. Make의 어떤 버전을 사용하고 있습니까? – Beta
두 버전이 있는데, 하나는 3.81과 3.82입니다. 둘 다 작동하지 않습니다. – NebulaFox
당신의 메이크 파일은 저에게 잘 작동합니다. 이 오류는 기본적으로 패턴 규칙이 적용되지 않는다는 것을 의미합니다. 예를 들어 file.h가없는 경우입니다. 그러나 당신은 명시적인 규칙이 작동한다고 말합니다. 따라서 그것이 존재해야합니다. 귀하가 게시 한 것 이상으로 귀하의 환경에 뭔가가 있습니다. "make -rd"를 실행하고 결과가 어떤 통찰력을 제공하는지보십시오. – MadScientist