Domanda

Ho un Qt-progetto che costruisce una DLL / shared-library e un altro Qt progetto che mette alla prova la libreria.

C'è un buon modo per avere qmake copiare la dll all'uscita cartella del test-progetto?

È stato utile?

Soluzione

Aggiungi questo al vostro file Pro:

target.path = ../testProject/$$TARGET
INSTALLS += target 

Altri suggerimenti

# Copy the dynamic library.
win32 {
   QMAKE_PRE_LINK=copy /Y lib\qextserialport\src\build\qextserialportd.dll debug\ & copy /Y lib\qextserialport\src\build\qextserialport.dll release\
}
else {
   # TODO: Unices
}

Questo funziona, per la biblioteca QextSerialPort. Supporta la modalità debug_and_release di Qt.

QMAKE_POST_LINK funziona anche, ma genera un errore se si sta cercando di eseguire immediatamente l'applicazione: allora il vostro DLL verrà copiato troppo tardi. QMAKE_PRE_LINK non copiarlo nel tempo.

Io uso di installare, in questo modo. (documentazione qmake)

Questo non può essere un modo 'buono', ma può fare il trucco.

QMAKE_POST_LINK += some shell command to copy the dll

È possibile utilizzare DESTDIR parola chiave come si dice in QMake file documetation in Qt 4.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top