0

在 Qt 项目中,我需要提供一个自定义的make dist. 所以我在文件中添加了以下几行*.pro

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它是一个已建立的标准命令。是否可以覆盖 Qmakemake dist而不会收到警告?

也许我走错了路?我应该以不同的方式处理这个问题吗?

4

1 回答 1

0

警告是由make而不是由 qmake 生成的,因为dist被定义了两次——这是不允许的。你不能在不重新编译 qmake 的情况下重新定义 dist 目标,因为 dist 目标在qmake/generators/unix/unixmake.cpp中是硬编码的

要解决该问题,您可以在 qmake 生成 makefile 后对其进行编辑(例如,使用包装 qmake 调用然后删除标准 dist 目标的脚本)

或使用另一个目标名称,如“myDist”

于 2010-08-30T09:50:12.553 回答