如何将OS X中开发的Qt应用程序部署到Windows?

问题描述:

我在OS X(El Capitan)上开发了一个使用Qt 5.5框架的Qt应用程序,并且希望将我的应用程序部署到Windows。我碰到this文章,但我有几个问题;如何将OS X中开发的Qt应用程序部署到Windows?

  1. MinGW编译器页面链接文章说它支持Qt 4.8,但我的项目是用Qt 5.5开发的,会不会是一个问题?
  2. 此外,根据文章指示,我无法在Qt站点上找到用于Windows的Qt 5.5库;该文章提供的链接似乎破裂了。

你能给我一步一步的过程,从我的Mac部署我的项目的静态可执行文件或链接文章(我已经在网上搜索,但找不到任何)?这实在是令人失望的,因为Qt的主要卖点之一是

“码一次,随地部署”

但是这个非常关键的一步缺乏不同于Qt的令人印象深刻的主流文档适当的文件或指导。

+0

为什么不尝试[Qt Creator](https://www.qt.io/download/)本身?只需下载并安装它,你就可以走了。如果你为了开心,为了开源或为学生使用Qt项目,它是免费的,并且是一个现成的IDE,用于Qt项目,也有图形界面。您也可以在Mac上安装它,这样您就可以在两个操作系统上使用相同的GUI。 *(P.S.:是的,我知道,我在回避这些问题)* –

+0

我正在使用Qt Creator。我做了我的项目,现在想部署它。我相信,需要在目标机器上安装Qt创建器来使用这个应用程序,并不是一种优雅的做事方式。但那将是我最后的手段。任何建议如何部署EXE应用程序? – Vino

+0

关于在Windows上部署Qt应用程序,已经有了各种回答的问题。 QG 5.8可用于MinGW,您可以在这里找到下载页面:http://download.qt.io/official_releases/qt/5.8/5.8.0/qt-opensource-windows-x86-mingw530-5.8.0.exe .mirrorlist – MrEricSir

虽然@Massimo CALLEGARI提供一个足智多谋的回答,我没有使用它实现我的任务,可能是因为我的项目是大规模复杂。相反,我遇到了this wiki页面指令来部署Windows Qt应用程序。它的作用就像魅力,而且我应该在这里记录它,因为它对于像我这样的新学习者会非常有帮助。我的项目使用各种第三方库,如QCustomPlot,QXlsx。所以我暗示的一点是,无论您的项目是使用Qt native模块还是第三方模块,所描述的方法都是链接的。但我认为这可能不是部署应用程序的最优雅的方式(我认为使用安装软件包以及像InstallShield这样的安装软件是最佳解决方案),但是这种方法可以完成任务。干杯。

我的项目基于Qt,它部署在Linux,Windows和MacOS上。

在Windows上,我使用MSYS2,它包含Qt库(目前为5.​​6.2),如果您的项目有几个外部依赖关系,这非常棒。我发现,在官方的Qt/MINGW环境中,构建外部依赖关系是非常糟糕的。

这里的wiki指导我的用户如何build on Windows

一旦你完成make install的,你需要Qt库复制到安装文件夹,包括所有的QML的DEP(如果你使用任何)

然后我用NSIS实际创建最终的自我安装的EXE束。这是我在我的项目中使用的the script

希望有所帮助。

否则,我建议你阅读Qt documentation如果您尚未

+0

嗨,兄弟谢谢你的回答。按照您的指示安装了MSYS2。现在,你已经告诉下一部分复制安装文件夹中的Qt库,你能详细说明一下吗?我应该下载Qt 5.5库吗?我怎么能这样做?再次感谢。 – Vino

+0

正如我所说的,Qt库包含在MSYS2(mingw32/mingw-w64-i686-qt5)中。它是5.6.2,所以它是一个LTS版本。你不需要安装额外的东西。 要复制到目标文件夹,您需要准备专用于原因的.pro文件。每个平台都有一个。 [检查出来](https://github.com/mcallegari/qlcplus/blob/master/platforms/windows/windows.pro)。 请记住还包括基本DLL,如libstdC++ - 6.dll和libgcc_s_dw2-1.dll –

+0

P.S.如果我的答案满足您的需求,您应该接受它。 –