17

我正在尝试像 hello world 一样部署我的简单 Qt 项目。

我成功构建它,也可以在 Qt-Creator 上执行它。但是,由于一些共享库错误,我无法直接在发布文件夹中执行二进制文件。

所以我只是将一些必要的库复制到发布文件夹中,例如 qtcore.dll 和 qtgui.dll,但我仍然无法执行它。

如何部署我的简单 Qt 项目?是否有另一个步骤来部署它?

4

5 回答 5

19

您还需要部署 MINGW 运行时 dll ( mingwm10.dll)。该文件位于您的Qt\2009.5\mingw\bin目录中。

还要注意你的应用程序是在调试模式还是发布模式下编译的。我刚刚使用 hello world 类型的应用程序和 Qt Creator 进行了测试。在debug文件夹中,我复制了libgcc_s_dw2-1.dll,mingwm10.dllQtCored4.dll并且QtGuid4.dll它有效。

注意din dll 名称,它代表 debug: 。QtCore d 4.dll

请参阅Qt 4.6:在 Windows 中部署应用程序。对于 Qt 5,请查看此页面。

于 2009-12-22T16:10:59.840 回答
11

如果您不想与 qt/mingw dll 有依赖关系,您应该按照此处的说明静态编译 qt:http: //qt.nokia.com/doc/4.6/deployment-windows.html#static-linking

于 2009-12-22T16:17:46.000 回答
2

您也可以使用静态链接,只需将此行添加到.pro文件中:

QMAKE_LFLAGS += -static-libgcc

我在这里找到了解决方案,并在 WinXP 上使用 QT creator 2.2.0 成功测试

于 2011-06-18T19:03:40.647 回答
1

尝试在其上运行dependency walker(http://dependencywalker.com/)以查看缺少哪些dll?

通常,您不需要将这些 Qt 库移动到本地文件夹中,因为 Qt 安装应该已将这些库添加到您的路径中。

一种可能性是您构建了调试,并且 Qt 调试 dll 的命名不同

于 2009-12-22T15:59:37.127 回答
-6

将所有 qt dll 直接复制到您的 windows 目录“C:\Windows\”并且不会出现 qt dll 错误 100% 工作且简单 nb:不要在您的 windows 目录中创建 qt dll 文件夹,按原样发布它们

于 2013-02-26T15:44:24.527 回答