2011-06-09 16 views
6

Una vez finalizada la compilación de lanzamiento, me gustaría ejecutar un script.Obtenga qmake para ejecutar el script de shell después de que termine la compilación en Mac

Encontré esta pregunta How to execute shell command after compile finished from .pro in QT? pero la respuesta no me funciona. He intentado añadir varias modificaciones de este a mi archivo .pro:

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

    QMAKE_EXTRA_TARGETS +=mytarget 
    QMAKE_POST_LINK += mytarget 
} 

Pero esto siempre resulta con ": -1: Error: MyTarget: No existe el fichero o directorio". La ruta es correcta y 'MyScript.sh' funciona bien desde la línea de comandos.

Dado que esto funciona para otras personas, creo que estoy haciendo algo mal. Yo uso Qt 4.7.2 en Mac.

Respuesta

8

La ruta es relativa al directorio de compilación. Si su script no está en su directorio de compilación, debe cambiar la ruta. Intente utilizar ../MyScript.sh

¿Por qué está utilizando el objetivo? Si su única intención es ejecutar MyScript.sh después de la compilación, solo necesita

QMAKE_POST_LINK += ./MyScript.sh 
+0

Lo intentaré (no puedo ahora) pero no creo que ese sea el problema. "MyScript.sh" se encuentra en el mismo nivel que mi directorio Forms, que contiene algunos archivos de encabezado utilizados en otros lugares. Como "INCLUDEPATH + = ./Forms" parece estar haciendo su trabajo, supongo que "./MyScript.sh" es correcto. –

+0

si quiere estar seguro, intente escribir: "QMAKE_POST_LINK = pwd". –

+0

@Galadrius Krunthar: la variable INCLUDEPATH cambiará las rutas de inclusión enviadas al compilador para buscar archivos de encabezado. No cambiará el lugar donde el archivo MAKE busque los archivos relacionados; debe ingresar la ruta manualmente. –

Cuestiones relacionadas