在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
是已建立的标准命令。是否有可能在没有收到警告的情况下覆盖Qmake的make dist
?
也许我走错了路线?我应该以不同的方式处理这个问题吗?
答案 0 :(得分:0)
警告由生成而不是qmake生成,因为 dist 定义了两次 - 这是不允许的。如果不重新编译qmake,则无法重新定义dist目标,因为dist目标在 qmake / generators / unix / unixmake.cpp
中进行了硬编码解决问题,你可以在qmake生成后编辑makefile(使用脚本例如包装qmake调用然后删除标准dist目标)
或使用其他目标名称,例如'myDist'