我意识到我之前的问题对规则和依赖关系有些困惑。如果 qmake 运行时目录“生成”中的源文件存在,则以下 .pro 文件生成一个可以正常工作的 makefile。
idl.target = generated/qmtest.h
idl.commands = code_generator
idl.config = no_link
idl.depends = $$SOURCES $$HEADERS $$FORMS
TEMPLATE = app
INCLUDEPATH += generated
SOURCES += generated/*.cpp
PRE_TARGETDEPS += generated/qmtest.h
QMAKE_EXTRA_UNIX_TARGETS += idl
但是当 qmake 运行时,它只生成一个 makefile,而 PRE_TARGETDEPS 和 QMAKE_EXTRA_UNIX_TARGETS 对我没有帮助。如何让 qmake 生成一个生成文件,它将生成/的内容添加到 SOURCES?