如何使用Qt-Creator部署我的应用程序?

时间:2009-12-22 15:50:41

标签: windows qt deployment qt-creator

我正在尝试将我的简单Qt项目部署为一个hello world。

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

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

如何部署简单的Qt项目?是否还有另一步部署它?

5 个答案:

答案 0 :(得分:19)

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

还要注意您的应用程序是在调试模式还是在发布模式下编译。我刚刚用一个hello world类型的应用程序和Qt Creator进行了测试。在debug个文件夹中,我复制了libgcc_s_dw2-1.dllmingwm10.dllQtCored4.dllQtGuid4.dll,但它确实有效。

请注意dll名称中的 d ,代表调试:QtCore d 4.dll

Qt 4.6: Deploying an Application in Windows。 对于Qt 5,请检查this page.

答案 1 :(得分:11)

如果你不想与qt / mingw dll有依赖关系,你应该静态编译qt,如下所示:http://qt.nokia.com/doc/4.6/deployment-windows.html#static-linking

答案 2 :(得分:2)

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

QMAKE_LFLAGS += -static-libgcc

我找到了解决方案 here ,并在使用QT创建者2.2.0的WinXP上成功测试

答案 3 :(得分:1)

尝试在其上运行依赖性walker(http://dependencywalker.com/)以查看哪些dll丢失了?

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

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

答案 4 :(得分:-6)

直接将所有qt dll复制到你的windows目录“C:\ Windows \”并且没有qt dll错误 100%工作和简单 nb:不要在windows目录中创建一个qt dll文件夹,因为它们是