2012-02-21 9 views
20

En mi proyecto Qt estoy intentando copiar bibliotecas como parte del proceso de compilación. El objetivo es tener una distribución preparada después de la compilación con todas las bibliotecas dinámicas necesarias.¿Cómo especifico la entrada de la variable QMake INSTALLS?

Esto parece acheivable con la variable de la instalación, pero encuentro la documentación un poco delgado: qmake Variable Reference: INSTALLS

En el ejemplo dado:

  • Está target ya definido, o se define por escrito target.path =?
  • ¿Dónde está la documentación para posibles miembros? .path y ...?
+0

Parece que 'target' se define en el ejemplo. El resultado en el archivo MAKE es una definición de 'install_target'. Hubo algunos errores relacionados con las variables de referencia. –

Respuesta

22

Sí, los documentos tienen mucho que desear aquí.

target ya está definido, pero ese es un caso especial. Puede definir sus propios conjuntos de implementación adicionales. Aquí es cómo especificamos los plugins de formato de imagen:

imageformats.path = /opt/some/path/bin/imageformats 
imageformats.files += $$[QT_INSTALL_DATA]/plugins/imageformats/*.so 
INSTALLS += imageformats 

aquí es el mínimo de documentación acerca de los tres comandos: http://doc.qt.io/qt-4.8/qmake-environment-reference.html#installs

yourset.path = /path/in/which/to/install/files 
yourset.files = /files/to/install 
yourset.extra = custom commands to run, eg. `touch somefile.txt` 
INSTALLS += yourset 
9

target es cualquier cadena que se desea utilizar. Es tu propio identificador.

target.files define lo que desea instalar.

target.path es la ubicación (directorio) que desea poner el target.files en.

Por ejemplo, digamos que tengo un archivo llamado "config.xml" que quiero copiar a la "XYZZY" directorio. Utilizaría lo siguiente en mi archivo qmake .pro para especificar eso.

my_file.files = config.xml 
my_file.path = xyzzy 

INSTALLS += my_file 

Por cierto, para hacer realidad la copia de archivos, tendrá que ejecutar make install.

También puede encontrar la respuesta útil para comprender: Copy a file to build directory.

+0

Gracias por el enlace. Es '% {buildDir}' sintaxis válida o solo para ilustrar. Lo intenté, pero en Qt Creator la expresión nunca se evalúa :( –

+0

@eriktheblond El ejemplo en el enlace supone que 'buildDir' ya se ha definido en algún lugar del archivo qmake .pro (es decir' buildDir = a/b/c') – jwernerny

+0

@jwernerny Buena respuesta, excepto que el objetivo es en realidad "incorporado" y un poco especial, no importa lo que quieras usar. Se correlaciona con el OBJETIVO. Ver - https://qt-project.org/doc/qt- 4.8/qmake-environment-reference.html # installs. – spinkus

Cuestiones relacionadas