【问题标题】:Easiest way to release a Qt C++ GUI program? [duplicate]发布 Qt C++ GUI 程序的最简单方法是什么? [复制]
【发布时间】:2013-07-17 07:26:52
【问题描述】:

我正在制作一个 Qt 5.0.2 C++ GUI 程序,我想将它发布到单个 .exe 文件中。过去,我使用 Visual Studio 2008 制作了简单的控制台应用程序,并且发布它很容易,我喜欢在发布状态下“调试”我的程序。

话虽如此,我知道在 Qt 中发布一个程序需要一堆 Qt 库来配合它。另一种选择是使用安装程序?

我真的想为我的用户避免复杂的事情。 (他们通常都很年轻)所以一个简单的、独立的 exe 是理想的。

有什么方法可以做到这一点? :)

编辑:这与“重复”帖子不同。 lpapp 决定回答我几乎所有的问题,并错误地将它们标记为重复,即使它们并没有完全结束争论。这个问题不是关于修复一个版本的错误或找出它为什么不起作用,而是关于找到最简单的方法来发布一个程序,这样用户就不必跳很多圈来运行我的程序。

【问题讨论】:

    标签: c++ qt compiler-construction release exe


    【解决方案1】:

    为其编写安装程序。

    在 Windows 上,InnoSetup 使用起来非常简单快捷。

    您需要包含您需要的 Qt dll。此外,您需要确保您使用的任何插件(例如,如果您打开 png 或 jpeg 文件)正确分发,请参阅 Qt 文档。在尚未安装 Qt SDK 的计算机(或虚拟机)上测试安装,以确保其正常工作。

    如果您动态链接到它(默认),您还需要部署 VS2008 运行时可分发。

    【讨论】:

    • 嗨皮特,是否需要安装程序?如果您在 zip 文件中发布带有所需 .dll 的 .exe,用户只需解压缩然后直接运行您的 .exe 会怎样?我问是因为在一些商业组织中,人们没有获得管理员权限。所以最好避免安装程序?
    • 是的,您可以使用 zip 文件。
    • 任何图像插件(例如 qjpeg4.dll)都需要放在一个名为“imageformats”的子文件夹中。 exe 旁边的其余 dll。
    • 我建议在另一台从未安装过 VS2008 或 Qt 的机器(或 VM)上进行测试。
    【解决方案2】:

    Qt 库的静态链接可能是解决方案之一。网上有成千上万的手册如何制作它。只需使用搜索。例如。 Qt static linking and deployment

    还有一种自解压存档可能是最简单、最快的解决方案。您的用户仍将收到一个*文件。图书馆将包含在其中。

    【讨论】:

    • 静态链接?这对我来说是一个新名词。 :) 谢谢,我会调查的。
    • 请注意,如果您想使用静态链接部署程序,则需要商业许可证。
    • 该死,我没想到。看起来我将不得不使用安装程序:(
    • @mc360pro 一种自解压存档可能是最简单、最快的解决方案。您的用户仍将收到一个*文件。库将包含在其中。
    • @mc360pro 我相信甚至不需要额外的软件来提取自解压档案en.wikipedia.org/wiki/Self-extracting_archive
    猜你喜欢
    • 2010-12-03
    • 1970-01-01
    • 2012-01-18
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 2011-10-06
    • 2010-09-08
    相关资源
    最近更新 更多