linux - 将 Qt 程序从 Linux 部署到 Windows

标签 linux windows qt deployment cross-compiling

我正在 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/

相关文章:

android - 我如何在 Windows 上处理这个 python 文件?

linux - bash 中多个单词作为可能的变量

windows - 从网络路径获取本地路径

c++ - Visual Studio 2010 C++ 不显示控制台输出,尽管控制台子系统设置

c++ - 如何自动链接到共享库的依赖项

linux - Tail -f 通过管道传输到 > awk 通过管道传输到文件 > 文件不起作用

c++ - 如何在Linux C++中创建多个间隔计时器

windows - 使用进程间通信时验证客户端

Python ex_setup.py urlopen 错误 [Errno 11004] getaddrinfo 失败

c++ - Qt 从另一个类设置按钮颜色