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