從QtCreator "projects - Add Building Step",人們可以指定添加的構建步驟。例如,下面的設定將在專案構建時呼出一條資訊。
添加的構建步驟實際出現在相應的.pro.user檔案中:
<value type="QString" key="ProjectExplorer.ProcessStep.Arguments"> hello。這是我的自定義程序步驟。</value>
<value type="QString" key="ProjectExplorer.ProcessStep.Command"> /usr/bin/echo</value>
我的問題是:是否有辦法在.pro檔案中添加構建步驟,而不是使用GUI("專案-添加構建步驟"),并實際添加設定到.pro.user檔案?(對我來說,好處是.pro檔案可以很容易地用shell腳本進行批量處理。
我試著用QMAKE_EXTRA_TARGETS把步驟放在.pro檔案中,如
所示mystep.commands = echo 'hello. 這是我的自定義流程步驟'。
QMAKE_EXTRA_TARGETS = mystep
然而,在命令列中使用qmake; make時,只有原始的構建發生。只有在進一步make mystep之后,回聲才會發生。換句話說,mystep步驟在正常的make中不會發生 - 也許我對QMAKE_EXTRA_TARGETS有誤解?
uj5u.com熱心網友回復:
我很高興你找到了一個對你有用的答案。我想澄清我在上面發表的評論,因為我試過了,而且對我來說效果很好。(我認為它對你不起作用的原因是我想讓你把 PRE_TARGETDEPS 和你已經有的 QMAKE_EXTRA_TARGETS 結合起來。這應該是你所需要的全部。
mystep.commands = echo 'hello. 這是我的自定義流程步驟'。
QMAKE_EXTRA_TARGETS = mystep
PRE_TARGETDEPS = mystep
uj5u.com熱心網友回復:
經過一段時間的挖掘,我找到了一個解決方案--使用QMAKE_EXTRA_COMPILERS。
。
PHONY_DEPS = .
mystep.input = PHONY_DEPS
mystep.output = phony.txt
。
mystep.commands = echo 'hello. 這是我的自定義流程步驟'/span>
。
mystep.name = running mystep...
# "no_link"告訴qmake我們不需要將輸出添加到物件檔案for linking
# "no_clean"意味著沒有清潔步驟 for它們。
# "target_predeps"告訴qmake,在我們這個的輸出需要存在,然后我們才能做其余的編譯作業。
mystep.CONFIG = no_link no_clean target_predeps
# 將編譯器添加到'extra compilers'串列中。
QMAKE_EXTRA_COMPILERS = mystep
對于我的實際應用,這不僅僅是一個回聲,我將以不同的方式指定輸出/CONFIG。
參考資料:
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/310165.html
標籤:
