При попытке запустить windeployqt.exe
как он узнает, где искать библиотеки Qt?
Я использую Windows, Qt 5.3, msvc2013_opengl.
Iиметь следующую настройку:
- Qt был сначала извлечен в
C:/PathA/Qt/5.3
.Там все работало нормально. - Я скопировал Qt в
C:/PathB/Qt/5.3
- Затем я переименовал папку
C:/PathA/
в C:/PathC/
, чтобы «спрятать» старое место.
При запуске C:/PathB/Qt/5.3/.../windeployqt.exe
он жалуется, что не может прочитать файл C:/PathA/.../QtPrintSupport.dll
- конечно, потому что этот файл больше не существует ....
Я пытался:
- локально переопределяет переменные окружения в оболочке.
- Удаляет все вхождения
PathA
из переменных окружения и перезагружается. - Поиск в реестре
PathA
. - Провереноqt.conf в обоих
PathB
и PathC
- оба содержат относительные пути. - Проверен исходный код windeployqt - похоже, он вызывает
qmake -query
. - Вызывается оба
qmake.exe -query
- они возвращают PathB
и PathC
, как и ожидалось. - Изменены пути в обоих qtenv2.bat.
Тем не менее, windeployqt настаивает на поиске C:/PathA
- так где жеэто значение получается из?
PS: я знаю, что могу попробовать удалить все версии Qt, избавиться от всего, что есть Qt-связано и переустановить его с нуля.Однако это не то, что меня интересует. Меня интересует возможность установки нескольких версий Qt рядом друг с другом и контроль, какую из них использовать (используя CMake и Visual Studio).
Редактировать: В отличие от , этот вопрос , я не использую QtCreator, и предметом этого вопроса является не «Как установить несколько версий Qt при использовании QtCreator?».В частности, вопрос «Где windeployqt.exe
получает путь к библиотекам Qt?»