2014-02-27 77 views
0

我想使用make moc所有頭文件與Q_OBJECT宏。這是我現在所擁有的。Moc Qt頭自動使用make

HEADERS = *.h 
MOCS := $(shell grep -l Q_OBJECT $(HEADERS))  
MOC_SOURCES := $(MOCS:%.h=moc_%.cpp) 
$(MOC_SOURCES) : moc_%.cpp: %.h 
    @echo "Building Moc: [email protected] from $<" 
    /opt/Qt5.1.1/5.1.1/gcc/bin/moc $< -o [email protected] 

但我在這個解決方案中有問題。只有第一個文件是moc'ing。

謝謝。

回答

2

如果makefile中的第一條規則有多個目標,則只有規則中的第一個目標成爲默認目標,而不是整個列表。

因此,我相信你需要根據$(MOC_SOURCES)定義一個「all」目標。

+0

謝謝,它解決了我的問題。 – yaroslav