Как я могу скопировать DLL-файлы в выходной каталог в Qt, не используя QtCreator? - PullRequest
4 голосов
/ 09 июня 2011

У меня есть приложение на основе Qt, которое использует несколько библиотек, которые построены вне проекта.Эти dll проверены в исходном коде, потому что мы не будем их перестраивать очень часто (они занимают порядка нескольких часов, я не хочу, чтобы они были в основном проекте).Я хочу скопировать эти библиотеки в соответствующие каталоги (выпуск, отладка), как только происходит строительство.Есть ли способ включить этот шаг копирования в файл .pro, чтобы копирование распространялось на каждый компьютер, использующий код?Предложение, которое я нашел в таких местах, как this , состоит в том, чтобы использовать шаг после сборки и создать пакетный файл, но шаги после сборки не разделяются между компьютерами (они хранятся в .pro.userфайл, который зависит от компьютера).

Я пытался использовать что-то вроде:

Debug:POST_TARGETDEPS = ../../Dir1/Dir2/bin/mylib.dll

Но это не копирует файл ни в каталог отладки, ни в каталог DESTDIR.

1 Ответ

5 голосов
/ 09 июня 2011

Вы захотите использовать ключевое слово INSTALLS, а затем убедитесь, что при сборке вы делаете make install.

dlls_to_move.path = $$DESTDIR
dlls_to_move.files += ../../Dir1/Dir2/bin/mylib.dll
INSTALLS += dlls_to_move

Более подробную информацию об INSTALLS вы можете найти в документации QMake .

...