我希望能够从qmake项目向moc编译器传递参数,但仅限于特定文件。
示例,在某些.pro文件中:
HEADER += foo.h \
bar.h \
baz.h
我想将-ffoo_extra.h
传递给foo.h,将-fbar_extra.h
传递给bar.h,而不是传递给baz.h
This answer建议使用QMAKE_MOC
变量,但这会影响所有标头。这样的东西,但针对单个头文件将是理想的。
答案 0 :(得分:0)
-f
参数为生成的输出添加了一个include。您可以通过利用Q_MOC_RUN
宏来实现相同的目标。它是even documented - 与命令行选项一起,不少于:)
// foo.h
#ifdef Q_MOC_RUN
#include "foo_extra.h"
#endif
...
// bar.h
#ifdef Q_MOC_RUN
#include "bar_extra.h"
#endif
...