2009-07-17 25 views
8

Stiamo provando a utilizzare la libreria MITK con Qt su Linux.Imposta percorso include con valore variabile di ambiente

Sfortunatamente MITK non ha funzionalità di installazione e dipende anche da ITK e VTK. Quindi finiamo con i file di intestazione sparsi in molte directory.

Vorremmo specificare l'elenco di directory da aggiungere nel percorso di inclusione in una variabile di ambiente come questa: INCPATH + = $ MITK_INCLUDE_PATH. Ma questo non sembra funzionare.

Come possiamo ottenere questo? C'è un modo migliore?

risposta

11

appena scoperto la soluzione io stesso. Anche se ho concesso un punto a Aidos e cjhuitt per le loro risposte che mi hanno messo sulla strada giusta e mi ha fatto risparmiare tempo prezioso. Un ringraziamento speciale per il collegamento alla documentazione di qmake.

Il primo punto è che dovrei modificare il file .pro e non giocherellare con gli argomenti di build estesi.

per ottenere il contenuto di una variabile d'ambiente quando qmake viene elaborato uno dovrebbe utilizzare la seguente sintassi

INCLUDEPATH + = $$ (MITK_INCLUDE_PATH)

Si noti che per ottenere il contenuto di una variabile d'ambiente quando make viene elaborato uno dovrebbe utilizzare la seguente sintassi

INCLUDEPATH + = $ (MITK_INCLUDE_PATH)

Ma questo non avrà lo stesso effetto se la variabile di ambiente contiene più percorsi. La prima forma è quindi preferibile.

I percorsi nella variabile di ambiente devono essere separati da spazi perché il; non è riconosciuto.

Se un percorso contiene spazi, posizionare le virgolette.Gli spazi che appaiono tra le virgolette saranno sostituiti da "\".

+1

se hai una lista di directory nella tua variabile d'ambiente separate da ';' , puoi usare qualcosa di simile (non testato): INCLUDEPATH + = replace ($$ (MITK_INCLUDE_PATH), ";", "") – Florian

+0

Cosa succede se voglio includere qualcosa come questo '$ HOME/x/y/Z'? – qed

0

io non so, ma forse si può provare a scrivere come

INCPATH + =% MITK_INCLUDE_PATH%

in finestre, in genere è così ..

ma non ho provato.

+0

È su linux. – chmike

+0

In realtà non funziona su Windows (almeno non ha funzionato per me). –

3

Hai provato aggiungendo:

INCLUDEPATH += <the path to the MITK headers>

nel file di .pro del progetto?

E probabilmente avrete anche bisogno di modificare LIBS e DEPENDPATH.

Vedi QMake Manual

+0

Funziona se copio l'elenco delle directory. È possibile fare lo stesso con una variabile di ambiente? – chmike

3

Penso che ci sia un modo più pulito per fare questo, ma non riesco a ricordare. In ogni caso, è possibile utilizzare la direttiva system:

INCLUDEPATH += $$system(echo $MITK_INCLUDE_PATH) 

Si consiglia inoltre di aggiungere che dipendere percorso:

DEPENDPATH += $$system(echo $MITK_INCLUDE_PATH) 
Problemi correlati