我是Qt的新手,我在Windows 7中工作。
当我尝试直接运行我的应用程序时,我看到有关丢失一些DLL的错误。我试图修复它们,但我不能(我试图静态构建)。
有没有正确的解决方案?
我的问题是:
如果我想在其他计算机上运行我的Qt应用程序,我需要什么?例如,对于.NET应用程序,我们需要在目标计算机上安装.NET框架,但对于Qt呢?
我搜索了它的SDK,发现了一个大约1.6 GB的SDK!这是否意味着每次我想安装我的应用程序时,我应该安装1.6 GB大小的SDK?那太糟糕了。
感谢。
答案 0 :(得分:5)
您必须使用所需的库分发您的应用程序。 如果您的应用程序在Windows上运行,则可以按照本指南进行操作:Deploying an Application on Windows。您可以在SDK中的bin目录中找到所需的库作为dll。基本的Qt gui应用程序至少需要 QTCORE4.DLL , QTGUI4.DLL ,如果您使用的是Qt Creator,则 MINGWM10.DLL 。您可以将这些库保留在与应用程序相同的目录中。
答案 1 :(得分:1)
除非您在该配置中构建了库(如果您刚刚下载了预构建的SDK,则不会这样),因此您无法静态链接到Qt。请注意,如果您确实想要静态链接,则会对某些组件产生许可影响。
如果您已经构建了发布配置,那么至少需要Alessandro提到的库,QtCore4.dll和QtGui4.dll。根据您使用的库的其他部分,您可能还需要QtXml4.dll QtWebkit4.dll,QtXmlPatterns4.dll以及可能的Phonon.dll。检查您是否正在构建发布配置而不是调试配置,因为它不会运行,因为它需要Visual Studio调试运行时,您无法重新分发。如果您怀疑需要哪些dll,请使用DependencyWalker查找(请注意,这不显示Phonon.dll,因为它稍后加载)。
一般来说,你只需要4-6个dll,你就不需要整个SDK。
答案 2 :(得分:0)
请考虑许多应用程序使用Qt,您有可能已经安装了DLL。无论如何,要注意MSVC依赖:我们在某些服务器上部署了一些真正的噩梦,部分与从VS2005到VS2008的策略切换有关。亚历山德罗已经给了一个很好的资源:另见this上一篇文章。
答案 3 :(得分:0)
如果您正在使用Qt5,除了第一个答案提到的.dll之外,您还必须从SDK中的bin目录添加platforms /文件夹。