在 Linux 机器上将 Qt 部署到 Windows

Deploy Qt to Windows on a Linux machine

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

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

是的,当然可以。

  1. 您必须使用 MinGW 编译器交叉编译 Qt,目标 Windows。

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

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

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

您需要一点时间才能全部弄清楚。只在 Windows 上构建而不是弄乱它当然是最简单的。但是,如果您坚持在 Linux 上构建 - 您当然可以。