1
我到處尋找我不斷看到這是很有幫助的規則MOC的Makefile規則
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 2013-02-21 16:53:04
我有兩個版本,一個是3.81和3.82。兩者都不起作用。 – NebulaFox 2013-02-21 18:43:59
你的makefile對我來說工作正常。該錯誤基本上意味着模式規則不適用:例如,如果file.h不存在。但是你說明確的規則是有效的,所以它必須存在。除了你發佈的內容之外,你的環境中還有別的東西。嘗試運行「make -rd」並查看輸出是否提供了任何見解。 – MadScientist 2013-02-22 12:49:17