在 Linux 机器上将 Qt 部署到 Windows

Posted

技术标签:

【中文标题】在 Linux 机器上将 Qt 部署到 Windows【英文标题】:Deploy Qt to Windows on a Linux machine 【发布时间】:2021-10-04 19:33:03 【问题描述】:

感觉像一个愚蠢的问题,但我很难在网上找到答案:如果您在 Linux 机器上进行开发,是否可以将 Qt 应用程序部署到 Windows?似乎答案应该是“是”,但我似乎无法在我的 linux 机器上使用 windeployqt。

如果可能的话,我需要哪些额外的资源来做到这一点?

【问题讨论】:

GitHub 有免费的 CI:Linux、Windows 和 macOS。使用它! 【参考方案1】:

是的,当然可以。

    您必须使用针对 Windows 的 MinGW 编译器交叉编译 Qt。

    您必须自己修补和构建 windeployqt。默认情况下,windeployqt 在路径中寻找g++.exe。当然,这在 linux 构建主机上毫无意义,因此您必须对其进行调整,以便它找到正确的编译器和运行时库。

    然后您可以使用跨目标 Qt 构建构建您的应用程序,并使用 windeployqt 将所有必要的工件部署到某个 deploy 文件夹中。

    要打包已部署的构建,您也可以在 Linux 上运行 nsiswix,以获取 Windows 安装程序。您甚至可以签署可执行文件(现在 Windows 需要),有一个名为 osslsigncode 的开源工具 - 它适用于大多数平台,不需要 Windows。

您需要一些时间才能弄清楚。仅在 Windows 上构建并且不要乱用它当然是最简单的。但如果你坚持在 Linux 上构建 - 你当然可以。

【讨论】:

以上是关于在 Linux 机器上将 Qt 部署到 Windows的主要内容,如果未能解决你的问题,请参考以下文章

在 Linux 上将 Crashpad 与 Qt 集成

在 Amazon Linux 2 上将 node.js 应用程序部署到 Elastic Beanstalk 时出错

关于在linux下安装git,以及在idea上将项目部署到码云上

如何在符合 LGPL 的 Linux 上部署 Qt5 应用程序? [关闭]

将 QT WebKitWidgets 应用程序部署到 Windows XP

Qt 部署 - QGraphicsView 不显示在其他机器上