尝试运行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
- 当然,因为该文件不再存在......
我试过了:
- 在 shell 中本地覆盖环境变量。
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,这个问题的范围不是“如何在使用 QtCreator 时安装多个版本的 Qt?”。问题具体是“ windeployqt.exe
Qt 库的路径在哪里?”