При попытке запустить windeployqt.exe
как он узнает, где искать библиотеки Qt?
Я использую Windows, Qt 5.3, msvc2013_opengl.
У меня есть следующая установка:
- Сначала 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?"