2009-07-17 9 views
8

Estamos tratando de usar la biblioteca MITK con Qt en Linux.Establecer incluir la ruta con el valor de variable de entorno

Desafortunadamente MITK no tiene funcionalidad de instalación y también depende de ITK y VTK. Así que terminamos con los archivos de encabezado dispersos en muchos directorios.

Nos gustaría especificar la lista de directorios para agregar en la ruta de inclusión en una variable de entorno como esta: INCPATH + = $ MITK_INCLUDE_PATH. Pero esto no parece funcionar.

¿Cómo podríamos lograr esto? ¿Hay una mejor manera?

Respuesta

11

acaba de encontrar la solución a mí mismo. Aunque le concedí un punto a Aidos y cjhuitt por sus respuestas que me pusieron en el camino correcto y me ahorraron un tiempo valioso. Un agradecimiento especial por el enlace a la documentación de qmake.

El primer punto es que debería modificar el archivo .pro y no jugar con los argumentos de compilación ampliados.

para obtener el contenido de una variable de entorno cuando se procesa qmake uno debe utilizar la siguiente sintaxis

INCLUDEPATH + = $$ (MITK_INCLUDE_PATH)

Tenga en cuenta que para obtener el contenido de una variable de entorno cuando se hacen se procesa uno debe utilizar la siguiente sintaxis

INCLUDEPATH + = $ (MITK_INCLUDE_PATH)

Pero esto no tendrá el mismo efecto si la variable de entorno contiene varias rutas. La primera forma es entonces preferible.

Las rutas en la variable de entorno deben estar separadas por espacios porque; no esta reconocido.

Si una ruta contiene espacios, ponga comillas a su alrededor.Los espacios que aparecen entre las comillas serán reemplazados por '\'.

+1

si tiene una lista de directorios en su variable de entorno que están separados por ';' , puede usar algo como esto (no probado): INCLUDEPATH + = replace ($$ (MITK_INCLUDE_PATH), ";", "") – Florian

+0

¿Qué sucede si quiero incluir algo como esto '$ HOME/x/y/z'? – qed

0

No sé, pero tal vez usted puede tratar de escribir como

INCPATH + =% MITK_INCLUDE_PATH%

en las ventanas, por lo general es así ..

pero no lo probé.

+0

Está en linux. – chmike

+0

En realidad, tampoco funciona en Windows (al menos no funcionó para mí). –

3

Ha intentado añadir:

INCLUDEPATH += <the path to the MITK headers>

en el archivo .pro de su proyecto?

Y posiblemente también deba editar LIBS y DEPENDPATH.

Ver QMake Manual

+0

Funciona si copio más allá de la lista de directorios. ¿Es posible hacer lo mismo con una variable de entorno? – chmike

3

Creo que hay una forma más limpia de hacer esto, pero no puedo recordar. De todos modos, se puede usar la directiva system:

INCLUDEPATH += $$system(echo $MITK_INCLUDE_PATH) 

También es posible que desee agregar a depender ruta:

DEPENDPATH += $$system(echo $MITK_INCLUDE_PATH) 
Cuestiones relacionadas