题
我尝试使用make使用q_object宏Moc所有头文件。这是我现在所拥有的。
HEADERS = *.h
MOCS := $(shell grep -l Q_OBJECT $(HEADERS))
MOC_SOURCES := $(MOCS:%.h=moc_%.cpp)
$(MOC_SOURCES) : moc_%.cpp: %.h
@echo "Building Moc: $@ from $<"
/opt/Qt5.1.1/5.1.1/gcc/bin/moc $< -o $@
.
但我在这个解决方案中存在问题。只有第一个文件是moc'ing。
谢谢。
解决方案
如果makefile中的第一个规则有多个目标,则只有规则中的第一个目标成为默认目标,而不是整个列表。
因此,我相信您需要定义上面的“所有”目标依赖于$(MoC_Sources)。
不隶属于 StackOverflow