在 Linux 机器上将 Qt 部署到 Windows
Deploy Qt to Windows on a Linux machine
感觉像是一个愚蠢的问题,但我正在努力在网上找到答案:如果您在 Linux 机器上进行开发,是否可以将 Qt 应用程序部署到 Windows?似乎答案应该是“是”,但我似乎无法在我的 linux 机器上使用 windeployqt。
如果可能,我需要哪些额外资源才能做到这一点?
是的,当然可以。
您必须使用 MinGW 编译器交叉编译 Qt,目标 Windows。
您必须自己修补和构建 windeployqt。默认情况下,windeployqt 在路径中查找 g++.exe
。当然,这在 linux 构建主机上没有任何意义,因此您必须对其进行调整,以便它找到正确的编译器和 运行time 库。
然后您可以使用交叉目标 Qt 构建构建您的应用程序,并使用 windeployqt 将所有必要的工件部署到某个 deploy
文件夹中。
要打包已部署的构建,您也可以在 Linux 上 运行 nsis
或 wix
,以获得 Windows 安装程序。您甚至可以签署可执行文件(现在 Windows 需要),有一个名为 osslsigncode
的开源工具 - 它适用于大多数平台,不需要 Windows.
您需要一点时间才能全部弄清楚。只在 Windows 上构建而不是弄乱它当然是最简单的。但是,如果您坚持在 Linux 上构建 - 您当然可以。
感觉像是一个愚蠢的问题,但我正在努力在网上找到答案:如果您在 Linux 机器上进行开发,是否可以将 Qt 应用程序部署到 Windows?似乎答案应该是“是”,但我似乎无法在我的 linux 机器上使用 windeployqt。
如果可能,我需要哪些额外资源才能做到这一点?
是的,当然可以。
您必须使用 MinGW 编译器交叉编译 Qt,目标 Windows。
您必须自己修补和构建 windeployqt。默认情况下,windeployqt 在路径中查找
g++.exe
。当然,这在 linux 构建主机上没有任何意义,因此您必须对其进行调整,以便它找到正确的编译器和 运行time 库。然后您可以使用交叉目标 Qt 构建构建您的应用程序,并使用 windeployqt 将所有必要的工件部署到某个
deploy
文件夹中。要打包已部署的构建,您也可以在 Linux 上 运行
nsis
或wix
,以获得 Windows 安装程序。您甚至可以签署可执行文件(现在 Windows 需要),有一个名为osslsigncode
的开源工具 - 它适用于大多数平台,不需要 Windows.
您需要一点时间才能全部弄清楚。只在 Windows 上构建而不是弄乱它当然是最简单的。但是,如果您坚持在 Linux 上构建 - 您当然可以。