0
在一个Qt项目中,我需要提供一个自定义的make dist
。因此,我增加了以下行*.pro
文件:如何覆盖Qmake的`make dist`默认目标?
QMAKE_EXTRA_TARGETS += dist
dist.commands = [...]
这样的作品,但显示以下警告每次我运行make
时间:
Makefile:209: warning: overriding commands for target `dist'
Makefile:188: warning: ignoring old commands for target `dist'
除此之外,它工作得很好,完全覆盖Qmake的默认目标为make dist
。但警告真的很烦人。
我可以使用不同的目标名称,例如make dist-all
,但make dist
是已建立的标准命令。是否可以覆盖Qmake的make dist
而不会收到警告?
也许我在错误的轨道上?我应该以不同的方式处理这个问题吗?
就在鸡蛋里挑骨头:这个问题已经指出的警告来自时许,不是qmake。尽管如此,qmake首先会生成重复的dist目标。如果* .pro文件重新定义它,它可以简单地压制写它自己的dist目标。但出于一些奇怪的原因,它将它们都写入Makefile中。 – vog 2010-08-31 02:24:09
事后重写Makefile是不可靠的,因为每次更改* .pro文件后,Makefile都会自行重新生成(通过调用qmake)。 – vog 2010-08-31 02:26:00
为什么default-lieist-target被写入makefile并不奇怪 - 它在qmake源代码中被硬编码。 – 2010-08-31 03:41:16