2009-08-17 14 views
6

Sto provando a compilare un'app qt con strumenti qd4 sdk + che abbiamo controllato nel nostro server di controllo del codice sorgente (p4). In particolare, ho convertito il file del progetto qt4 (.pro) in un file di progetto di Visual Studio che è sinteticamente corretto e accettato da VS.sovrascrive le impostazioni di tempo di compilazione qt4

Il problema è la posizione della risorsa e dei compilatori MOC. Qmake sta configurando il file di progetto dello studio visivo per indicare la posizione sulla macchina su cui è stato originariamente creato qt4.

Quando controllo origine, librerie e file binari, si trovano in una posizione diversa. C'è una grande quantità di variabili environmnt che influenzano il comportamento di qt4 + qmake ma non riesco a trovarne una che mi permetta di scavalcare la posizione dei compilatori di risorse e moc. Qualcuno può aiutare?

risposta

0

ottenuto !, qmake -query "QT_INSTALL_PREFIX" ti dirà dove qt crede che sia stato installato. Questo può essere cambiato con: "qmake -set valore della variabile"

Ha ottenuto queste informazioni da: http://doc.trolltech.com/4.5/qmake-environment-reference.html

Avrei dovuto controllare per primi davvero :-)

+2

questo non è del tutto corretto, il qmake "set" e "query" comandi non consentono l'impostazione dei dati persistenti, ma non consentono le variabili installazione di Qt per essere ignorate, Argh !, quindi l'impostazione di QT_INSTALL_PREFIX su un valore arbitrario non funzionerà :-( –

2

Date un'occhiata a QMAKESPEC informazioni, e hanno un guarda dentro alcune delle specifiche di make disponibili. In questo caso, per il common/linux.conf marca specifica, comprende le seguenti righe:

QMAKE_MOC    = $$[QT_INSTALL_BINS]/moc 
QMAKE_UIC    = $$[QT_INSTALL_BINS]/uic 

Da questi, vorrei assumere è possibile modificare la definizione della variabile QT_INSTALL_BINS per puntare alla nuova posizione. In alternativa, è possibile ignorare le variabili QMAKE_MOC o QMAKE_UIC in modo che puntino agli eseguibili desiderati.

0

corretta, la posizione equivilant su una macchina Windows è sul Registro di sistema: [HKEY_CURRENT_USER] \ Software \ Trolltech \ Versioni \ 4.5 \ InstallDir

+0

Tradizionalmente, questo tipo di informazioni verrebbe configurato impostando la variabile di ambiente QTDIR ma questo comportamento è stato modificato in Qt4 –

0

creare un file qt.conf con il percorso corretto nella directory bin Qt e assicurati di passare -nocache a qmake.

2

Stavo osservando questo e ho trovato un modo che funziona (in qt 4.7.2) personalizzando qt con un file qt.conf.

Nel mio caso, ho aggiunto un qt4-4.7.2/bin/qt.conf (credo che debba essere nello stesso posto come l'eseguibile qmake)

Con i seguenti contenuti:

[Paths] 
Prefix = c:/my_path/to/qt4-4.7.2 

e qmake -query ha iniziato a restituire i percorsi corretti!

See: http://doc.qt.nokia.com/stable/qt-conf.html per maggiori dettagli

Problemi correlati