2011-06-09 117 views
6

在發佈構建完成後,我想運行一個腳本。在Mac上構建完成後,讓qmake執行shell腳本

我發現這個問題How to execute shell command after compile finished from .pro in QT?但答案不適用於我。我試着加入這個各種修改我的.pro文件:

CONFIG(release, debug|release) { 
    mytarget.target = ./MyScript.sh 
    mytarget.commands = touch $$mytarget.target 

    QMAKE_EXTRA_TARGETS +=mytarget 
    QMAKE_POST_LINK += mytarget 
} 

但這總是會導致「:-1:錯誤:mytarget:沒有這樣的文件或目錄」。路徑是正確的,'MyScript.sh'從命令行工作正常。

由於這適用於其他人,我想我做錯了什麼。我在Mac上使用Qt 4.7.2。

回答

8

路徑相對於建立目錄。如果您的腳本不在您的build目錄中,則必須更改路徑。 嘗試使用../MyScript.sh

你爲什麼使用目標?如果您的唯一目的是在構建之後執行MyScript.sh,您只需要

QMAKE_POST_LINK += ./MyScript.sh 
+0

我會嘗試它(現在不行),但我不認爲這是問題所在。 「MyScript.sh」與我的Forms目錄位於同一層,其中包含幾個其他地方使用的頭文件。由於「INCLUDEPATH + = ./Forms」似乎在做它的工作,我假定「./MyScript.sh」是正確的。 – 2011-06-10 00:20:47

+0

如果您想確定它,請嘗試編寫:「QMAKE_POST_LINK = pwd」。 – 2011-06-10 07:00:03

+0

@Galadrius Krunthar:INCLUDEPATH變量將更改發送到編譯器以查找頭文件的包含路徑。它不會改變makefile查找相關文件的位置 - 您必須手動輸入這些路徑。 – 2011-06-12 14:53:21