我正在学习使用Qt Creator开发应用程序。我在Windows下构建了一个简单的应用程序,取决于使用mingwm10.dll,QtCore4.dll,QtGui4.dll,QtNetwork4.dll。 在QtQui4.dll之外我只使用了几个小部件,并且不需要所有其他的...是否可以缩小QtGui4.dll的大小或做其他事情以减少应用程序的部署大小? 静态链接怎么样?它会嵌入整个dll,还是只使用它的一部分? 还有可能Qt静态地和一些动态链接一些dll吗?
答案 0 :(得分:13)
通过删除某些功能无法缩小QtGui4.dll。奇趣科技是having a look at this,但好的解决方案似乎很遥远:
静态链接,我认为它在Windows上非常有问题。每次我尝试,都是一场噩梦。
所以,看起来你已经被常规DLL困住了。你唯一能做的就是(我为我的Qt应用做的):
或
如果你已经UPX你的dll,你不能通过安装程序压缩进一步减少它,但这可以减少其他文件。
答案 1 :(得分:7)
最好的方法是使用configure手动配置Qt库。发出
configure --help
您将看到许多可能有助于减少磁盘和内存占用的选项。 E.g。
--no-stl
--no-exceptions
可以减少应用程序的占用空间。您还可以修改mkspec以使用更积极的编译器优化标志。
答案 2 :(得分:2)
如果您静态链接,最终会得到1.5GB的exe,并且您会牺牲插件等功能。所以除非你不想发布dll,否则它并不值得。但是,是的,您可以尝试Henrik的建议,也可以排除Webkit,这可能是最大的代码块。