1

到目前为止,我使用直接从 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 的一些模块,安装后应用程序的大小会增加吗?
4

2 回答 2

4
  1. 当您选择发布版本时,

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

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

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

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

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

  7. 必须有许多第三方应用程序会将所有 dll和您的文件以及您的 exe转换为setup.exe。

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

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

于 2013-06-02T07:15:02.013 回答
3

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

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

  • 您可以编写一个脚本来复制您编译的程序,以及任何必要的库到目标机器。在此处此处查看文档
  • 或使用 3rd-party 工具为您生成“setup.exe”,例如NSIS

问题3:见上文

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

于 2013-06-01T06:28:51.897 回答