我正在尝试将我的简单Qt项目部署为一个hello world。
我成功构建它,也可以在Qt-Creator上执行它。但是,由于某些共享库错误,我无法直接在release文件夹中执行二进制文件。
所以我只是将一些必要的库复制到qtcore.dll和qtgui.dll等发行文件夹中,但我仍然无法执行它。
如何部署简单的Qt项目?是否还有另一步部署它?
答案 0 :(得分:19)
您还需要部署MINGW运行时dll(mingwm10.dll
)。此文件位于Qt\2009.5\mingw\bin
目录中。
还要注意您的应用程序是在调试模式还是在发布模式下编译。我刚刚用一个hello world类型的应用程序和Qt Creator进行了测试。在debug
个文件夹中,我复制了libgcc_s_dw2-1.dll
,mingwm10.dll
,QtCored4.dll
和QtGuid4.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)
答案 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文件夹,因为它们是