Qué cambios debo hacer en el archivo .pro
si quiero ejecutar el comando chmod
, ejecutar el archivo binario de salida o realizar algunas otras operaciones.¿Cómo ejecutar el comando de shell después de que la compilación finalizó desde .pro en QT?
Respuesta
Tuve un problema similar. Quería una herramienta especial (versioner) para ejecutar el código cada vez que se ejecutaba el Makefile. Aquí está la solución:
(para ser leídos en el Qmake Manual, Configuring qmake's Environment, Section: Customizing Makefile Output)
crear su propio destino Makefile. Especificar el comando etc.
mytarget.target = .buildfile
mytarget.commands = touch $$mytarget.target
QMAKE_EXTRA_TARGETS += mytarget
De esta manera, usted tiene un objetivo adicional, puede llamar con make mytarget
por ejemplo. Si desea unirlo al buildgetget real, tendrá que agregar:
POST_TARGETDEPS += mytarget
Espero que ayude.
Saludos
D
en este caso, el comando táctil se ejecutará después de completar la compilación y antes del enlace, si desea ejecutar toque tras enlace, QMAKE_POST_LINK es adecuado. – camino
Si está utilizando Qt Creator, puede agregar pasos de generación personalizada en el panel Proyectos: http://doc.qt.nokia.com/qtcreator-2.1/creator-build-settings.html#adding-custom-build-steps
Se almacenan en el archivo .pro.user que es volátil por definición ... –
Mala respuesta. Nunca te metas con la configuración de .pro.user cuando puedes lograr un objetivo a través de QMake. – BuvinJ
La respuesta correcta depende de exactamente lo que quiere, y cuando. Sin embargo, como se ve en algunos comentarios publicados anteriormente, aquí QMAKE_POST_LINK
es probablemente lo que desea en lugar de POST_TARGETDEPS
.
Salida este post relacionados: QMake: execute script after build
Por un lado, cuando se utiliza POST_TARGETDEPS
que dispara ANTES de su exe se crea (en Windows) o antes de que se vuelve a crear (en Linux)! QMake funciona de manera diferente según la plataforma y el compilador.
Necesitaba hacer algunos "procesamientos de símbolos" en un exe cuando se recompilaba. POST_TARGETDEPS
me dio problemas tanto en Windows (usando mingw) como en Linux (usando gcc). En Windows, ejecutó mi script prematuramente, y en Linux sobrescribió mi exe después de que lo había modificado (es decir, se volvió a agregar mi información de depuración al exe después de haberlo eliminado en mi script externo). QMAKE_POST_LINK
funcionó perfectamente, sin embargo, en ambos casos. ¡También es corto, dulce y más claro en comparación!
Otra forma de hacer las cosas en orden dada es usar vacío "super" objetivo:
super.depends = target_pre first target_post
QMAKE_EXTRA_TARGETS += super
Dónde first
- es objetivo qmake por defecto, y target_pre
y target_post
algunos objetivos personalizados. Ahora make super
simplemente hazlo.
- 1. Obtenga qmake para ejecutar el script de shell después de que termine la compilación en Mac
- 2. Ejecutar comando de shell en Clojure desde la ubicación específica
- 3. Cómo ejecutar el comando shell en Javascript
- 4. Cómo ejecutar un comando de shell desde un script php
- 5. ejecute el comando de shell desde java
- 6. Ejecutar el script de Shell después de la compilación en Jenkins
- 7. Ejecutar un comando de shell desde una aplicación .NET
- 8. Ejecutar comando de shell desde un cliente MySQL?
- 9. Ejecutar el comando Shell sobre MySql en el host remoto
- 10. ¿Cómo ejecutar el shell django desde Emacs?
- 11. Ejecutar un comando después de la desinstalación
- 12. Evite imprimir después de ejecutar el comando en la consola
- 13. ¿Cómo ejecutar algún comando antes o después de cada comando Bash ingresado desde la consola?
- 14. Ejecutar el comando vim desde la línea de comandos
- 15. Cómo ejecutar un comando de shell a través de Python
- 16. ¿Cómo ejecutar automáticamente un comando de shell después de guardar un archivo en Vim?
- 17. La GUI de Qt no cambia después de la compilación
- 18. ¿El comando SQL no finalizó correctamente?
- 19. ¿Cómo ejecutar el código PHP desde la línea de comando?
- 20. ¿Cómo ejecutar comandos de shell desde una aplicación Mac/MacRuby?
- 21. Obtener valores de archivos pro en Qt
- 22. ejecute el comando bash en el nuevo shell y permanezca en el nuevo shell después de que se ejecute este comando
- 23. scons - ejecutar el programa después de la compilación
- 24. ¿Cómo ejecutar el script de shell desde LaTeX?
- 25. ¿Cómo ejecutar un comando de shell a través de vimscript?
- 26. Ejecutar el comando CMD desde el código
- 27. Comentarios sobre el archivo .pro Qt Creator
- 28. ¿Cómo ejecutar un script de shell Unix desde código Java?
- 29. Cómo ejecutar shell builtin desde Scala
- 30. ¿Cómo ejecutar un comando del sistema en Qt?
¿Podría hacerse a través de QMAKE_POST_LINK? Nunca usé esto yo mismo, así que no lo pondré como respuesta. Tal vez vale la pena echarle un vistazo? – Bart
He intentado QMAKE_POST_LINK, ¡funciona bien! – camino