【发布时间】:2010-06-15 13:49:18
【问题描述】:
当您使用 Qt 编写应用程序时,它可以立即在不同的操作系统中运行吗?而且(如果我错了,请纠正我)您不需要在要执行应用程序的所有不同平台上都安装 Qt?
这究竟是如何工作的? Qt 是否编译到所需的平台,或者它是否捆绑了一些“dll”(库),或者它是如何做到的?它与编写跨平台的 Java 应用程序有什么不同吗?
如果您使用 Python 编写带有 Python 绑定的 Qt 应用程序,您的最终用户是否需要安装 Python?
【问题讨论】:
-
当前的两个答案都忽略了提供此链接,所以我会:doc.qt.nokia.com/4.7-snapshot/deployment.html 它详细说明了如何在所有平台上部署(以及您可能需要的一些编译设置)。但它仍然需要在您想要运行它的每个平台上进行编译。
-
您在评论 py2exe,Linux 是否存在类似的东西?
-
@David:我的意思是库(需要为每个平台编译或下载),但是是的,你是对的 :)
-
David:我认为 Python 是字节编译的。这就是它制作这些 *.pyc 文件的原因,我可以删除 *.py 文件并且它仍然运行,不是吗?它只是不需要我像 Java 那样显式调用编译器。
-
David:我不知道您所说的“与
pyc文件类型相关联”是什么意思——如果存在 *.pyc,Python 根本不会费心寻找 *.py。区别听起来像是纯粹的词汇问题:Java 的运行时称为“VM”,而 Python 的运行时称为“解释器”,尽管它们都在执行字节码。难怪人们会感到困惑,因为我们的术语更多地基于历史事故而不是今天的事情。 :-)