【问题标题】:creating a setup.exe qt创建 setup.exe qt
【发布时间】:2013-06-01 03:48:57
【问题描述】:

到目前为止,我使用直接从 qt creator 运行的 qt creator 开发了简单的应用程序,我没有创建任何 setup.exe 文件来安装这些应用程序。我什至不知道 setup.exe 文件是什么。我的问题是,当我完成项目后,即 .cpp、.ui 和 .h 文件被编码,那么如何创建 setup.exe 文件,以便可以在平台上安装应用程序?我正在使用 Windows 7。

  1. 解释一下 setup.exe 是什么?
  2. 如何创建 setup.exe?
  3. setup.exe 运行时实际发生了什么?
  4. 如果项目文件大小为 5KB,并且它#include 来自 Qt 的一些模块,安装后应用程序的大小会增加吗?

【问题讨论】:

    标签: qt installation qt-creator


    【解决方案1】:
    1. 当您选择发布版本时,

    2. 在您的构建文件夹->发布文件夹中形成一个 exe,将该 exe 复制到某处,

    3. 点击它,它会告诉你它需要什么必要的dll文件

    4. 一个接一个地复制,即复制 dll,然后再次单击它,依此类推...在安装 qt 的位置搜索 dll。将它们复制到您的 exe 所在的位置。

    5. 如果您正在加载一些外部图像或文件...不要忘记在 windows 中使用 QCoreApplication::applicationFilePath() 提供相对于 exe 的路径它给出了相对于 exe 的路径。但它在 mac 中的行为不同。使用 资源文件 即 .qrc 也可能有所帮助。只需将所有资源加载到资源文件中即可。

    6. 现在当您的 exe 能够独立运行时。然后是setup.exe,这不过是一个exe,它将所有这些文件复制到指定的路径中。您甚至可以编写 setup.exe 来执行此操作。

    7. 必须有许多第三方应用程序来制作所有 dll 的以及您的 文件您的 exe 进入 setup.exe。

    8. 或者一个简单的事情是,将你所有的 dll、exe 和外部文件压缩成一个 zip。这是您最简单的设置。

    最后一件事,设置大小取决于您的 exe、它需要的 dll 和外部文件。如果您使用许多外部文件,则大小会增加。您正在使用的库,即如果您正在使用网络、xml 模块等,那么它需要更多的 dll,因此会增加设置的大小。

    【讨论】:

    • 我只是喜欢你解释这些步骤的方式 :) +1 前 5 个步骤
    • 我将所有 dll 复制到发布文件夹(.exe 文件所在的位置)并运行 .exe,它会弹出一条消息,“此应用程序已请求运行时以不寻常的方式。请联系应用程序的支持团队了解更多信息"
    • 我还必须将 libEGL.dll 复制到我的 exe 文件所在的目录。否则双击 exe 后什么也没有发生。
    【解决方案2】:

    至问题 1:“setup.exe”基本上将您的可执行文件和任何必要的文件(包括图像、dll 等)复制到目标机器,并设置环境以正确执行您的程序(例如 dll 注册)

    至问题 2:您必须为 Qt 应用程序编写自己的部署工具。

    • 您可以编写脚本来复制已编译的程序,以及将任何必要的库复制到目标计算机。检查文档herehere
    • 或使用第三方工具为您生成“setup.exe”,例如NSIS

    至问题 3:见上文

    对于问题 4:据我了解,动态链接的 Qt 应用程序的大小主要取决于您的“核心”程序,因为其他 Qt 模块很容易编译。

    【讨论】:

    • 您应该在您的问题中补充一点,即没有 Windows 设计指南规定必须将安装程序称为 setup.exe,事实上大多数情况下并非如此。现在还有一个可用的测试版 Qt 安装程序框架:qt-project.org/wiki/Qt-Installer-Framework
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多