我正在 Linux 上开发一个 Qt 程序,我也想在 Windows 上发布它。 Windows 的编译和静态链接与 MXE(安装了 qtbase)配合得很好,但我想动态链接我的程序。
动态链接有效,程序在 Wine 下运行,但是当我将 EXE 和 DLL 复制到 Windows 时,程序出现错误:“此应用程序无法启动,因为它无法在中找到或加载 Qt 平台插件“windows” “”。”
在 Windows 上,windeployqt
将应用程序运行所需的所有内容整齐地放在一个文件夹中。有没有办法让这个工具(或类似工具)在 Linux 上运行?
最佳答案
您缺少可执行文件所需的几个文件。
在“Qt Dir\Qt Version\MinGW Version\plugins”下获取它们
必需:
- 图像格式\
- qgif.dll
- qico.dll
- qjpeg.dll
- qwbmp.dll
- 平台\
- qwindows.dll(这就是错误所在)
(如果在 Debug模式下,使用这些文件末尾带有“d”,例如 qwindowsd.dll)
我不确定图像格式,但即使在不使用图片的程序中我也不得不使用它们。首先尝试使用“platforms\qwindows.dll”,然后在程序要求时添加图像格式。
参见 https://doc.qt.io/qt-5/windows-deployment.html有关完整信息和更精确的选项。我只是给你解释。
关于linux - 将 Qt 程序从 Linux 部署到 Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39677325/