Qt 自动根据编译的dll或exe 将相关dll文件复制到目标文件夹
Qt 自动根据编译的dll或exe 将相关dll文件复制到目标文件夹
如果你在使用 windeployqt 时遇到错误 “windeployqt 不是内部或外部命令”,说明你的命令行环境没有正确配置 Qt 工具路径。windeployqt 是 Qt 工具的一部分,它用于自动将所有必要的 Qt 库和插件复制到你的应用程序目录中。
解决方法:
- 确认 windeployqt 是否存在
首先,确认 windeployqt 工具是否已经安装在你的 Qt 目录中。windeployqt 通常位于 Qt 安装目录的 bin 文件夹下:
php
复制代码
C:\Qt\<Qt版本>\mingw<版本号>\bin\windeployqt.exe
或者:
php
复制代码
C:\Qt\<Qt版本>\msvc<版本号>\bin\windeployqt.exe
例如,如果你安装的是 Qt 5.15 和 MinGW 版本,路径可能是:
makefile
复制代码
C:\Qt\5.15.2\mingw81_64\bin\windeployqt.exe
2. 将 windeployqt 所在目录添加到系统环境变量中
为了能够在命令行中直接使用 windeployqt,你需要将 Qt 的 bin 目录添加到系统的环境变量中。
步骤:
1. 找到 Qt 安装目录的 bin 文件夹:
○ 比如:C:\Qt\5.15.2\mingw81_64\bin 或 C:\Qt\5.15.2\msvc2019_64\bin,根据你的 Qt 安装路径确定。
2. 设置环境变量:
○ 右键点击 此电脑 或 计算机,选择 属性。
○ 选择 高级系统设置。
○ 在弹出的窗口中点击 环境变量。
○ 在 系统变量 区域中,找到 Path 变量,选择并点击 编辑。
○ 在编辑窗口中,点击 新建,然后输入 Qt bin 文件夹的路径,例如:C:\Qt\5.15.2\mingw81_64\bin。
○ 点击 确定 保存设置。
3. 重新启动命令行:
○ 关闭当前的命令行窗口,重新打开一个新的命令行窗口,使环境变量生效。
3. 使用 windeployqt
现在你应该能够在命令行中运行 windeployqt 了。进入你程序的目录,然后执行:
bash
复制代码
windeployqt your_program.exe
这会将你的程序所依赖的 Qt 库、插件(包括 qwindows.dll)和其他必需的文件复制到与你的可执行文件所在目录相同的目录中。
4. 手动使用 windeployqt
如果你不想修改环境变量,也可以直接通过 Qt 的 bin 目录来运行 windeployqt,例如:
bash
复制代码
C:\Qt\5.15.2\mingw81_64\bin\windeployqt.exe your_program.exe
这样会确保正确找到 windeployqt 工具并运行。
总结
如果你遇到 “windeployqt 不是内部或外部命令” 错误,通常是因为 Qt 工具的路径没有正确添加到系统的环境变量中。通过将 Qt 安装目录下的 bin 文件夹路径添加到 Path 环境变量中,或者直接在 Qt bin 目录中运行 windeployqt,就可以解决这个问题。