【问题标题】:Unable to run application outside qt [duplicate]无法在qt之外运行应用程序[重复]
【发布时间】:2015-06-27 03:37:04
【问题描述】:

我什至无法在 QT 之外运行 HelloWorld.exe。 我通过 QT creator 5.4.2 对其进行了编码。从 QTcreator 构建和运行工作正常。 但是当我试图在 QT 之外运行生成的可执行文件时,我的意思是直接在桌面上,它不断给我错误,比如缺少库。

通过网络搜索,我知道我需要做一些静态构建。 请帮助我。请把步骤 0 到 N 描述清楚,以免我或其他人遇到任何问题。

我使用的是 Windows,并且我有 MSVC2010。 帮助从地面 0 步骤到在 qtcreator 之外执行 helloworld.exe。

谢谢

【问题讨论】:

  • 这对我有帮助...如果您能提供从第 0 步到完成的过程会很好...谢谢:)
  • 静态编译 Qt 库本身,然后修改 Qt Creator 设置以使用新编译的库,然后修改项目文件以启用静态编译并切换到已编译的 Qt 实例。 This guide 看起来不错。

标签: c++ windows qt


【解决方案1】:

可以部署动态链接或静态链接的 Qt 应用程序。当 Qt 应用程序从 Qt Creator 运行时,它会在 C:\Qt\Tools\QtCreator\bin 中找到需要的库,但是还有更多的库,然后您需要。

一种快速的部署方法是将构建中的 Qt 应用程序可执行文件 (.exe) 放入目录 C:\Qt\Tools\QtCreator\bin 并创建指向它的符号链接。这适用于初始测试,但不是部署 Qt 应用程序的方式,因为它确实需要在部署机器上安装 Qt 和环境。

更好的方法是使用位于目录 C:\Qt\5.4\msvc2010_opengl\bin 中的 windeployqt.exe,它有文档并从 Qt 命令行运行

C:\Qt\5.4\msvc2010_opengl\bin>windeplyqt --help

它记录在http://doc.qt.io/qt-5/windows-deployment.html 刚刚过了一半。

如果您要将应用程序部署到多台机器上,您将需要构建一个安装程序,此处记录在 http://doc.qt.io/qtinstallerframework/index.html

【讨论】:

    【解决方案2】:

    QtCreator 为 qt 库保留一个内部环境路径。要运行“HelloWorld.exe”,您只需将丢失的 dll 从 qt/bin 复制到与可执行文件相同的文件夹中。更好的解决方案是将 qt/bin 从环境变量添加到系统路径。

    如果您计划分发您的应用程序,最好的解决方案是静态链接 qt 库而不是动态链接。您可以通过以下方式了解有关他的选项的更多信息:

    How to make Qt and Qtcreator link the libraries statically instead of dynamic?

    【讨论】:

      猜你喜欢
      • 2019-07-19
      • 1970-01-01
      • 2012-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-10
      • 1970-01-01
      相关资源
      最近更新 更多