我在我的工作机器上创建了一个项目(Win7,64位,使用MinGW 5.3.0 32位在Qt 5.6.1中编译)。它在调试和发布模式下都能完美运行。
不久之后,我决定在另一台机器上测试我的程序(WinXp,32位)。我只传递可执行文件和.dll文件。仍然像魔术般一样工作。
稍后,我在我的游戏机器(Win10,64位)上测试了相同版本的程序。奇怪的是,它完全无法工作。我收到以下错误:
"找不到或加载qt平台插件“windows”"。
我记得如果有缺失的.dll文件,就会出现这个错误。所以我把Qt文件夹中所有的.dll文件都传到我的程序文件夹中(有意删除不需要的文件)。令我惊讶的是,它仍然无法工作。但错误信息不同:
"找不到或加载qt平台插件“windows”...可用的平台插件为:minimal、offscreen、windows、minimal、offscreen、windows。"
很明显找到了平台插件windows(qwindows或qwindowsd...或这两者),但无法加载它。有什么想法吗?
编辑:将 C:\Qt\5.7\mingw53_32\bin
中的所有.dll复制到可执行文件所在的文件夹中。
将 C:\Qt\5.7\mingw53_32\plugins
中的所有文件夹复制到可执行文件所在的文件夹中。
这几乎是我添加的所有.dll文件了!
windeployqt yourfile.exe
。这将从Qt发行版中复制所需的dll文件。 - Sebastian Langewindeployqt
绝对是这里的最佳选择! - Mailerdaimonwindeployqt
只适用于 Windows 吗?是否有另一个命令适用于 MAC 或 Linux? - andseg$QTDIR/$QTVERSION/$COMPILER
目录。那里应该有一个macdeployqt
。对于 Linux,我不确定,因为 Linux 默认使用系统范围内的共享库,并没有构建成单个软件包。 - Sebastian Lange