Pergunta

Eu tenho um projeto QT que cria uma DLL/Library Compartilhada e outro projeto QT que testa a biblioteca.

Existe alguma boa maneira de copiar QMake a DLL para o dobrador de saída do projeto de teste?

Foi útil?

Solução

Adicione isso ao seu arquivo Pro:

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

Outras dicas

# 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
}

Isso funciona, para a Biblioteca QextSerialPort. Suporta QT's debug_and_release modo.

QMAKE_POST_LINK Também funciona, mas apresentará um erro se você estiver tentando executar o aplicativo imediatamente: então seu .dll será copiado tarde demais. QMAKE_PRE_LINK Copra -o no tempo.

Eu uso instalações, igual a. (Documentação do QMake)

Isso pode não ser uma maneira 'boa', mas pode fazer o truque.

QMAKE_POST_LINK += some shell command to copy the dll

Você pode usar DESTDIR palavra -chave como é dito em QMake arquivos documetação em Qt 4.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top