【问题标题】:Deploy Qt program to Windows from Linux将 Qt 程序从 Linux 部署到 Windows
【发布时间】:2016-09-24 14:16:54
【问题描述】:

我正在 Linux 上开发一个 Qt 程序,我也想在 Windows 上发布它。 Windows 的编译和静态链接可以很好地与 MXE(安装了 qtbase)配合使用,但我想动态链接我的程序。

动态链接有效,程序在 Wine 下运行,但是当我将 EXE 和 DLL 复制到 Windows 时,程序给出错误:“此应用程序无法启动,因为它无法找到或加载 Qt 平台插件“windows” “”。'

在 Windows 上,windeployqt 将应用程序运行所需的所有内容整齐地放在一个文件夹中。有没有办法让这个工具(或类似工具)在 Linux 上运行?

【问题讨论】:

  • 使用 Windows 虚拟机不是更简单吗?
  • 这部分是出于原则,部分是为了方便。我在哪里可以获得免费的 Windows 副本?
  • 我想我记得。这是关于捆绑platform-somrthing.dll 并验证平台插件的搜索路径是否设置正确。错误消息表明它未设置,因此它可能正在当前目录中查找它。你复制了什么dll?
  • libbz2.dll libgcc_s_sjlj-1.dll libharfbuzz-0.dll libintl-8.dll libpcre-1.dll libstdc++-6.dll Qt5Gui.dll zlib1.dll libfreetype-6.dll libglib-2.0 -0.dll libiconv-2.dll libpcre16-0.dll libpng16-16.dll Qt5Core.dll Qt5Widgets.dll
  • 您还将 qwindows.dll 放在一个名为“platforms”的子目录中。请参阅deployment documentation 中的示例。

标签: linux windows qt deployment cross-compiling


【解决方案1】:

您缺少围绕可执行文件所需的几个文件。

在“Qt Dir\Qt Version\MinGW Version\plugins\”下获取它们

必填:

  • 图像格式\
    • qgif.dll
    • qico.dll
    • qjpeg.dll
    • qwbmp.dll
  • 平台\
    • qwindows.dll(这就是错误所说的)

(如果处于调试模式,请使用这些以“d”结尾的文件,例如 qwindowsd.dll)

我不确定图像格式,但即使在不使用图片的程序中也必须使用它们。首先尝试使用“platforms\qwindows.dll”,然后根据程序要求添加图像格式。

请参阅https://doc.qt.io/qt-5/windows-deployment.html 了解完整信息和更精确的选项。我只是给你解释。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    • 2021-10-03
    相关资源
    最近更新 更多