将参数从 qmake 传递到每个 header 的 moc
Passing arguments from qmake to moc per header
我希望能够从 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
变量,但这会同时影响所有 header。类似但针对单个 header 文件的东西是理想的。
-f
参数向生成的输出添加一个包含。您可以通过利用 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
...
我希望能够从 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
变量,但这会同时影响所有 header。类似但针对单个 header 文件的东西是理想的。
-f
参数向生成的输出添加一个包含。您可以通过利用 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
...