Вопрос:

QMAKE_POST_LINK в выпуске Windows 10

qt qmake

375 просмотра

2 ответа

301 Репутация автора

У меня есть проект Qt, в котором я создаю библиотеку, а затем использую ее в своем основном проекте. Для этого в файле .pro библиотеки мне нужно скопировать сгенерированные библиотеки в определенную папку. И для этой цели я использую QMAKE_POST_LINK . Те, что у меня, похоже, не работают.

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
Автор: Xavier Geoffrey Источник Размещён: 23.03.2017 12:29

Ответы (2)


0 плюса

916 Репутация автора

Попробуйте использовать $$ QMAKE_COPY и $$ quote () для аргументов. Т.е.

QMAKE_POST_LINK += $$QMAKE_COPY $$quote(../Plot/*.*) $$quote($$QML_INSTALL_PATH) & $$QMAKE_COPY $$quote($$WDIR/*.qml) $$quote($$QML_INSTALL_PATH) 
Автор: kkoehne Размещён: 23.03.2017 12:57

1 плюс

73897 Репутация автора

это работает, но только если я пересобираю проект каждый раз

Поскольку библиотека уже связана, нет необходимости копировать ее снова. Он будет скопирован только тогда, когда он будет связан. В этом смысл QMAKE_POST_LINK. Это буквально «делай это после ссылки», поэтому, когда ты не ссылаешься, это не делается.

Если вы удаляете копию и хотите, чтобы она была автоматически регенерирована, вам нужно добавить собственную цель.

Автор: Kuba Ober Размещён: 23.03.2017 04:09
Вопросы из категории :
32x32