2017-03-23 1 views
1

J'ai un projet Qt dans lequel je construis une lib et l'utilise ensuite dans mon projet principal . Pour ce faire, dans le fichier .pro de la bibliothèque, j'ai besoin de copier les bibliothèques générées dans un certain dossier. Et pour cela j'utilise QMAKE_POST_LINK. Ceux que j'ai n'ont pas l'air de marcher.QMAKE_POST_LINK dans Windows 10 numéro

QML_INSTALL_PATH = C:\Qt\Qt5.7.0\5.7\mingw53_32\qml\Plot 
QMAKE_DIR_SEP = "\\" 

WDIR = $$replace(PWD, /, $$QMAKE_DIR_SEP) 
QMAKE_POST_LINK += copy /y ..\Plot\*.* $$QML_INSTALL_PATH & 
QMAKE_POST_LINK += copy /y $$WDIR\*.qml $$QML_INSTALL_PATH 
+0

cela fonctionne mais seulement si je reconstruis le projet à chaque fois. Y a-t-il un réglage pour changer cela? –

Répondre

0

Essayez avec $$ QMAKE_COPY, et $$ quote() autour des arguments. C'est à dire.

QMAKE_POST_LINK += $$QMAKE_COPY $$quote(../Plot/*.*) $$quote($$QML_INSTALL_PATH) & $$QMAKE_COPY $$quote($$WDIR/*.qml) $$quote($$QML_INSTALL_PATH) 
+0

celui que j'ai utilisé et le vôtre fonctionne mais seulement si je reconstruis le projet. Cela ne fonctionne pas simplement quand je construis le projet. –

1

cela fonctionne mais seulement si je reconstruis le projet à chaque fois

Depuis la bibliothèque a déjà été lié, il n'y a pas besoin de le copier à nouveau. Il sera seulement copié quand il est lié. C'est la signification de QMAKE_POST_LINK. Il s'agit littéralement de "faire ceci après avoir lié", donc quand vous ne liez pas, cela ne se fait pas.

Si vous supprimez la copie et que vous souhaitez la régénérer automatiquement, vous devez ajouter une cible personnalisée.