更新:使用windeployqt.exe
!它真的很好用。
http://doc.qt.io/qt-5/windows-deployment.html#the-windows-deployment-tool
使用 windeployqt 的最简单方法是将 Qt 安装的 bin 目录(例如 )添加到 PATH 变量中,然后运行:
windeployqt <path-to-app-binary>
当您在发布模式下运行应用程序时(当它工作时,从 Qt Creator 内部运行),执行depends.exe并将其指向应用程序。
记下 Qt 文件夹中引用的所有 dll。
如果您想花更多时间使用它,另一种方法是:
您可以通过尝试删除文件来手动解决问题,因为 Windows 不允许您在使用文件夹或 dll 时删除它。所以你可以去备份你的 Qt 安装,然后运行你的应用程序,确保它已经连接到它要使用的所有 dll,然后尝试删除 Qt 安装中的文件夹和文件。Windows 不允许您删除您的版本正在使用的文件。
如果您想知道,这也是 Windows 如何解析 dll 的:
http://msdn.microsoft.com/en-us/library/7d83bc18(v=vs.80).aspx
编辑:另外,您不需要在 exe 目录中创建名为 plugins 的文件夹。它应该是这样的:
Qt 4.x:
./myexe.exe
./QtCore.dll
./imageformats/qjpegd4.dll // Note: there isn't a "plugins" folder here
Qt 5.x:(取自这里)
The executable ./plugandpaint.exe
The Basic Tools plugin ./plugins/pnp_basictools.dll
The ExtraFilters plugin ./plugins/pnp_extrafilters.dll
The Qt Windows platform plugin ./platforms/qwindows.dll
The Qt Core module ./Qt5Core.dll
The Qt GUI module ./Qt5Gui.dll
The Qt Widgets module ./Qt5Widgets.dll
同时运行qDebug() << QApplication::libraryPaths()
,并记下在您的计算机上搜索 dll的路径。
希望有帮助。