c++ - 使用 windeployqt 在构建后事件中复制 Qt dll 不起作用
问题描述
在我的系统上 Qt 位于C:\Libraries\Qt\5.12.6\VS2015\shared\x64
(从源代码编译)。我在 Visual Studio 中使用这个 Qt 版本和 Qt 插件没有任何问题。
现在我想用“windeployqt”为我的应用程序自动复制所需的 Qt dll。
我添加了以下构建后事件:
cd "$(QTDIR)\bin\"
windeployqt "$(OutDir)$(TargetName)$(TargetExt)"
结果是:
cd "C:\Libraries\Qt\5.12.6\VS2015\shared\x64\bin\"
windeployqt "C:\PathToSoftware\TestSoftware.exe"
不过,我收到以下错误:
EXEC : 警告 : Unable to read C:\Qt\5.12.6\install\win32-msvc2015\x64\mkspecs\qconfig.pri: 系统找不到指定的路径。找不到C:\Qt\5.12.6\install\win32-msvc2015\x64\bin\Qt5Core.dll的依赖库:无法打开'C:/Qt/5.12.6/install/win32-msvc2015/x64/bin /Qt5Core.dll':系统找不到指定的路径。
如果我在命令提示符下运行“windeployqt”,也会出现同样的问题:
C:\Libraries\Qt\5.12.6\VS2015\shared\x64\bin\windeployqt "C:\PathToSoftware\TestSoftware.exe"
任何想法如何解决这个问题?谢谢你。
解决方案
这是文档所说的:windeployqt 需要在构建环境中运行才能正常运行。使用 Qt Installer 时,应使用脚本 QTDIR/bin/qtenv2.bat 进行设置。
所以在调用windeployqt之前尝试执行脚本QTDIR/bin/ qtenv2.bat。
推荐阅读
- r - 闪亮的数据表错误 - 表 id=DataTables_Table_1 - Ajax 错误
- qt - 从 CLion 运行 QTest
- android - 用词firebase JAVA研究数据
- sql-server - Oracle SQL Developer 和 Microsoft SQL Server
- clang - 如何在 hexagon dsp 模拟器中分析代码
- pdf - Sonarqube - 我如何制作摘要表
- javascript - 如何使用 javascript 连接到 socks 代理(在浏览器或前端)?
- python - 在谷歌云语音 api 中使用增强模型
- vba - VBA 根据值 1 从一个工作簿复制 2 列到另一个工作簿
- php - 如何创建登录控制器?代码点火器