我正在寻求帮助来编写我的Makefile。 我需要为Qt生成moc文件,由于某种原因我不能使用qmake(请不要问为什么!!)。
我有这段代码:
moc_%.cpp: %.h
moc $(DEFINES) $(INCPATH) $< -o $@
但它不起作用。我无法理解为什么,但它需要路径...... 所以我写了这样的话:
$1moc_$2.cpp: $1$2.h
moc $(DEFINES) $(INCPATH) $< -o $@
但它不起作用......
所以我的问题:我怎么能这样做?
答案 0 :(得分:0)
您可以这样做:
HEADERS=$(wildcard *.hpp)
OBJS+=$(patsubst %.hpp, %.moc.o, $(notdir $(HEADERS)))
%.moc.o : %.hpp
moc $< | $(CXX) -c $(CXXFLAGS) $(INCLUDES) -xc++ -o $@ -
这将获取所有头文件(所有文件,扩展名为.hpp),创建moc文件并立即编译它们。