Qt程序部署到多平台,怎么样?

我是Qt编程的新手,我想开发一个我希望在Windows,Linux(ubuntu)和Mac上运行的程序。

我听说Qt支持mutli-platform应用程序开发,

但我的问题是,

在部署或编译之后,任何Qt库是否需要在Ubuntu中运行这些应用程序?

如果你在Ubuntu上部署,因此使用.deb包,那么你的工作很简单,因为你只需要qt作为依赖,apt会根据需要自动安装它。

然而,Windows和Mac没有任何“好的”软件管理层,因此您别无选择,只能在二进制文件中包含所需的Qt DLL或编译静态的Qt DLL。 在Windows上,您只需确保DLL与程序位于同一目录中。 但是,Mac需要进行一些重新连接。 这是一个很大的痛苦,但幸运的是Qt附带了一个名为macdeployqt的工具,它可以帮到你。

所以根据我的经验,Linux是最容易部署的平台,其次是Windows,而Mac则是最后一个。

上面给出的Qt部署文档的链接是一个很好的起点。 如果你需要一个例子,我已经编写了几个脚本来构建我的程序的Windows二进制文件。 您可以查看这些内容以开始使用。

Windows安装程序:
http://gitorious.org/tagaini-jisho/tagaini-jisho/blobs/master/pack/win32-cross/buildwin32releases.sh
http://gitorious.org/tagaini-jisho/tagaini-jisho/blobs/master/pack/win32-cross/tagainijisho.nsi

在这里谈论Linux方面,如果您将应用程序分发为软件包(deb,rpm),那么您可以使用软件包依赖项规则。 如果正确定义这些规则,则包管理器将安装安装应用程序时所需的Qt库。