为Qt创建moc文件

时间:2014-02-26 15:05:21

标签: c++ qt makefile

我正在寻求帮助来编写我的Makefile。 我需要为Qt生成moc文件,由于某种原因我不能使用qmake(请不要问为什么!!)。

我有这段代码:

moc_%.cpp: %.h
     moc $(DEFINES) $(INCPATH) $< -o $@

但它不起作用。我无法理解为什么,但它需要路径...... 所以我写了这样的话:

$1moc_$2.cpp: $1$2.h
     moc $(DEFINES) $(INCPATH) $< -o $@

但它不起作用......

所以我的问题:我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您可以这样做:

HEADERS=$(wildcard *.hpp)

OBJS+=$(patsubst %.hpp, %.moc.o, $(notdir $(HEADERS)))

%.moc.o : %.hpp
        moc $< | $(CXX) -c $(CXXFLAGS) $(INCLUDES) -xc++ -o $@ -

这将获取所有头文件(所有文件,扩展名为.hpp),创建moc文件并立即编译它们。