【问题标题】:Creating .exe file in Qt 4.10.2在 Qt 4.10.2 中创建 .exe 文件
【发布时间】:2020-03-12 11:25:43
【问题描述】:

我的 deguber (MinGW) 创建 .exe 文件。但是 .exe 文件不起作用。我搜索并使用windeployqt.exe添加了一些.dll。 exe文件开始运行,但是当我将它带到另一台计算机(没有qt)或将C:/Qt文件夹名称更改为另一个名称时,Exe没有启动。

我使用 Dependency Walker 程序查找丢失的 .dll,但程序向我显示了很多丢失的 .dll。如何将所有 dll 添加到我的 exe。

我正在使用社区版本。有原因吗?或者我又犯了一个错误。 对于缺少的 dll:https://hizliresim.com/EOdL5z

【问题讨论】:

  • 当您在计算机上安装程序时,您还需要安装它使用的所有库。您不能只复制 .exe 本身。考虑为您的应用程序创建一个合适的 .MSI 安装程序,它将安装 所有 必需的文件。
  • 需要很长时间。谢谢你的解释。我会调查 .MSI

标签: c++ qt dll exe


【解决方案1】:

您可以简单地从 Qt 安装目录中复制缺少的 DLL(在 Windows 上通常为 C:/Qt/4.10.2/...)。在其他 PC 上,过程相同,复制 .exe 文件夹中的所有依赖项(DLL、插件、翻译...);另外,侧节点,在部署应用程序时,您应该在发布模式下构建软件!

使用 WinDeploy 工具,您可以准备要交付的软件包,将输出与 QtInstallerFramework 或 InnoSetup 结合起来创建安装程序!

参考:Windows DeployQt Installer FrameworkInnoSetup

【讨论】:

  • 感谢您的解释。我不明白为什么 qt 在内部执行此过程。我认为复制 dll 需要一些时间。我的程序很简单。如果我做一个大程序怎么办?在 Visual Studio 中,如果没有插件,我可以携带 exe(例如表单应用程序)。无论如何,我会尽快尝试你所说的。
  • @GUI_27 对于使用 Visual Studio 编译器(有或没有 Qt)构建的程序,您还必须随程序一起安装 Visual Studio 可再发行运行时。在一般情况下,仅复制可执行文件是不够的。
  • 实际上我的电脑有重新分发 x64 2005、2008、2010、2015。但我在我的电脑中找不到 API-MS-WIN-CORE dll 文件(在 qt 和 windows 文件中)。我在 cmd 中做 sfc/scannow 也许它可以工作,但我不认为。我在哪里可以找到 API-MS-WIN-CORE dll?我应该从某些dll网站下载所有这些吗?
【解决方案2】:

我一步步使用了这个网站“https://wiki.qt.io/Deploy_an_Applicstacation_on_Windows”,我在qt.conf文件里面改成了

[Paths]
Plugins = plugins
Prefix = ./

然后我的 .exe 运行感谢您的帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 2018-11-16
    • 1970-01-01
    • 2012-06-17
    • 2014-05-13
    相关资源
    最近更新 更多