170 MB Hello World - >使用Qt部署应用程序

时间:2010-09-09 09:45:35

标签: c++ qt deployment dll qt-creator

我是Qt的新手,但在C ++中没问题。我使用了Qt Creator并用一个按钮(就像一个hello world)制作了一个简单的程序,然后我构建了这个项目。我无法在Windows本身(创建者之外)运行可执行文件,因为它需要这些DLL文件:

libgcc_s_dw2-1.dll
mingwm10.dll
QtGuid4.dll
QtCored4.dll

我找到了这些文件并将它们放在exe旁边。现在该程序可以工作,但由于 Dll文件,该文件夹的大小为170 MB。这是部署Qt应用程序的方式吗?我知道他们是一种制作独立静态应用程序的方法,但这不是问题。我对dll很好,但依赖关系似乎太大了。是否有不同的方法来部署文件较小的项目?

由于

3 个答案:

答案 0 :(得分:19)

为什么不进行发布版本并使用发布dll而不是更大的调试dll。

因为这与尺寸有关:

调试库

QtCored4.dll = ~37MB

QtGui4d.dll = ~157MB

发布库

QtCore.dll = ~2.3Mb

QtGui4.dll = ~9MB

(从查看我的Qt \ version \ bin目录中的大小)

答案 1 :(得分:3)

你有两个问题:

  • “未找到过程入口点”:您安装了多个版本的Qt库。不好。您正在链接导入库A,而在运行时,您的可执行文件找到一个dll B,它不是您链接的那个。链接时检查项目输出以查看VS使用的导入库。最简单的解决方案:删除/卸载与Qt相关的所有内容并彻底重新开始。同样调整项目设置。
  • 在运行时没有找到dll:解决方法是将带有qt dll的目录添加到PATH中

答案 2 :(得分:2)

如果您计划部署Qt应用程序的静态链接版本,则应考虑构建您不需要disable all the features的库的自定义版本,从而最大限度地减少库的大小。

相关问题