2013-07-19 69 views
3

我一直在评论如何将我的桌面应用程序从Qt5 Creator部署到一组.dll和.exe。记录的过程似乎非常复杂:http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html
请你帮助我更好地理解它。在Windows上部署Qt5

只是复制使用Dependency Walker发现的.dlls不起作用-t告诉我Qt5Core.dll缺少入口点,并且我已经在我的硬盘上尝试过Qt5Core.dll的每个版本。但我离题了。

  1. 它说你必须建立静态的QT。这实际上是做什么的?
  2. 一旦我建立了静态,我该如何解决这个问题并恢复到我的正常环境?
  3. 第1步说。我在哪里可以找到这些选项的位置?
  4. 有没有一个工具,我可以运行它为我做这个?

非常感谢。

(我使用的是Windows 7和Qt 5.1)。

回答

1

Do I have to include all these Qt dlls with my application?

静态链接是罕见的。您可能正在使用LGPL授权,因此您应该动态链接。

朝向您在链接中提到的页面的底部,它提供了一个示例项目的dll依赖关系。

当插件&画图可执行文件(plugandpaint.exe)与取决于工具的发布版本来看,该工具列出了下列直接依赖于非系统库:

然后它给出了一堆dll的图表。根据.pro文件中的模块,您将需要不同的dll和不同的运行时编译器依赖关系。

希望有所帮助。

+0

谢谢。我使用了依赖关系walker,并添加了它列出的。我仍然收到一个错误,说明无法找到入口点。在google-fu之后,我尝试了我的系统上该DLL的所有版本,以防万一它是另一个文件。没有运气。 – Dirk

+1

@Dirk它也可能与dll所需的文件夹有关。例如,插件进入不同的文件夹。发布你的exe文件夹的结构,以及你使用它的dll,以及在什么文件夹中。同时发布.pro文件。并且在Qt Creator中运行时打印出这些内容'qDebug()<< qApp-> libraryPaths();'http://qt-project.org/doc/qt-5.1/qtcore/qcoreapplication.html#libraryPaths – phyatt

+0

明天会做。我将所有内容复制到一个文件夹(一张SD卡)并尝试运行。 – Dirk