You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用windeployqt在构建后事件复制Qt DLL失败求助

解决windeployqt错误指向默认Qt路径的问题

你的问题很典型——源码编译Qt时如果没正确指定安装前缀,windeployqt这类工具就会硬编码去默认的C:\Qt路径找配置文件和依赖,完全忽略你实际的自定义安装目录。下面是几个一步步的解决办法,从彻底修复到快速临时解决都有:

方法1:重新编译Qt并指定正确前缀(最彻底)

这能从根源上解决路径错误的问题,确保所有Qt工具都默认指向你的自定义目录:

  1. 打开VS2015 x64的开发命令提示符,进入Qt源码所在的目录
  2. 执行configure命令时,务必加上-prefix参数指定你的实际安装路径,示例命令(根据你之前的编译参数调整其他选项):
    configure -prefix C:\Libraries\Qt\5.12.6\VS2015\shared\x64 -debug-and-release -opensource -platform win32-msvc2015 -x64
    
  3. 接着执行nmake完成编译,再执行nmake install将编译好的库和工具安装到你指定的前缀路径下。完成后,windeployqt就会自动使用这个正确路径,不会再找默认的C:\Qt了。

方法2:手动修改Qt配置文件(无需重编译)

如果不想重新编译,可以直接修正Qt配置文件里的错误路径:

  1. 找到你的Qt目录下的配置文件:C:\Libraries\Qt\5.12.6\VS2015\shared\x64\mkspecs\qconfig.pri
  2. 用文本编辑器打开它,搜索所有包含C:\Qt\5.12.6\install\win32-msvc2015\x64的字符串,全部替换成你的实际Qt路径C:\Libraries\Qt\5.12.6\VS2015\shared\x64
  3. 保存文件后,重新运行windeployqt命令即可。

方法3:运行windeployqt时强制指定Qt路径(快速临时解决)

windeployqt支持通过--qtpath参数直接指定Qt根目录,你可以修改VS的构建后事件命令为:

cd "$(QTDIR)\bin\" && windeployqt --qtpath "$(QTDIR)" "$(OutDir)$(TargetName)$(TargetExt)"

或者在命令提示符中直接执行:

cd "C:\Libraries\Qt\5.12.6\VS2015\shared\x64\bin\" && windeployqt --qtpath "C:\Libraries\Qt\5.12.6\VS2015\shared\x64" "C:\PathToSoftware\TestSoftware.exe"

这个参数会强制windeployqt使用你指定的路径,跳过配置文件里的错误路径。

方法4:检查并修正环境变量

确保系统或VS环境中的环境变量指向正确路径:

  1. 打开系统环境变量设置:
    • 添加或修改QTDIR为C:\Libraries\Qt\5.12.6\VS2015\shared\x64
    • 将C:\Libraries\Qt\5.12.6\VS2015\shared\x64\bin添加到PATH环境变量的最前面(确保优先使用这个路径下的Qt工具)
  2. 重启Visual Studio和命令提示符,再运行windeployqt命令验证是否解决问题。

内容的提问来源于stack exchange,提问作者Michael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 10:23:12