当前位置:  开发笔记 > 编程语言 > 正文

Qt应用程序:如何从Mac创建Windows(&Mac)的独立可执行文件?

如何解决《Qt应用程序:如何从Mac创建Windows(&Mac)的独立可执行文件?》经验,为你挑选了1个好方法。

我在MacBook(El-Capitan 10.11.2)中开发了一个Qt应用程序,现在已经准备好发布了.

我现在想要的是为Mac和Windows操作系统创建独立的可执行文件.

但我不知道怎么做!

我找到了这个链接,但我无法遵循它是指导,它看起来与我的系统显示的不同.

如果您有任何想法,请帮助我.

谢谢



1> Felix..:

好吧,要编译Windows应用程序,您将需要一台Windows机器(或至少一台虚拟机).你无法在mac上编译windows.

关于"独立":简单的方法是将您的应用程序与所有必需的dll /框架一起部署,并将它们作为一个"包"发布.对此,有工具windeployqtmacdeployqt.但是,这些不是"单个文件"应用程序,而是文件集合.

如果你想拥有一个文件,你必须静态构建Qt!你可以这样做,但你必须自己做.如果你这样做,请注意LGPL许可证(免费版Qt的许可证)要求你公开你的程序的源代码!如果您只是链接到动态库,情况并非如此.

编辑:

部署

部署可能非常困难,因为您必须为每个平台执行不同的操作.大多数时候你会有3个步骤

    依赖性解析:在此步骤中,您将收集应用程序所需的所有exectuables/lirabries/translations/...并将它们收集到彼此可以找到的位置.对于windows和mac,可以使用我上面提到的工具来完成.

    安装:在这里你必须创建某种"安装程序".最简单的方法是创建一个包含所需的所有东西的zip文件.但是如果你想要一个"好"的安装,你将不得不为每个平台创建适当的"安装程序".(许多可能性之一是Qt安装程序框架.最好的事情是:它是跨平台的.)

    分发:分发是如何将程序提供给用户的.在Mac上,你将拥有App-Store,对于你没有的Windows.最好的方法是在为此创建的网站上提供下载(如sourceforge,github,...)

我可以帮助你完成第一步,但是对于第二步,你将不得不研究可能性并决定一种方法.

依赖

解析依赖关系可以通过静态构建Qt来完成(这样你将只有一个文件,但是因为你必须编译Qt而获得额外的工作)或者使用动态构建.对于动态构建,Qt将帮助您解决依赖关系:

macdeployqt相当容易使用.在发布模式下编译您的应用并致电/bin/macdeployqt /.app.完成后,所有Qt库都存储在.app文件夹中.

对于windeployqt基本相同:\bin\windeployqt --release \.exe.所有依赖项都将位于build文件夹中.(提示:复制.exe一个空的directoy并在该路径上运行windeployqt.这样你就可以摆脱所有的构建文件).

关于静态构建:只需google它,你会发现任何平台的数百个解释.但除非您别无选择,只能使用一个文件(无论出于何种原因),否则建议您使用动态构建.关于用户体验:在Mac上,他们不会注意到差异,因为在这两种情况下,所有内容都将隐藏在应用程序包中.在Windows上,拥有多个文件是正常的,所以没人会打扰.(如果您为Windows创建安装程序,只需确保添加桌面快捷方式.这样用户就可以单击"单个文件".)

推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有