首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有一种方法可以最小化Qt所需的Dlls?

有没有一种方法可以最小化Qt所需的Dlls?
EN

Stack Overflow用户
提问于 2016-02-13 08:48:47
回答 1查看 2K关注 0票数 2

我正在尝试部署一个简单的基于Qt的聊天程序,它使用WebWidget作为聊天本身、QListWidgets和一些标签。以及用于网络连接的QWebSocket。但是我确实需要添加120 MB文件来部署它。

以下是pro文件中的QT和CONFIG变量:

代码语言:javascript
复制
CONFIG += qt release
QT     += gui websockets webkitwidgets widgets

这是我必须添加的文件列表:

代码语言:javascript
复制
│   D3Dcompiler_47.dll
│   icudt54.dll
│   icuin54.dll
│   icuuc54.dll
│   libEGL.dll
│   libgcc_s_dw2-1.dll
│   libGLESV2.dll
│   libstdc++-6.dll
│   libwinpthread-1.dll
│   opengl32sw.dll
│   Qt5Core.dll
│   Qt5Gui.dll
│   Qt5Multimedia.dll
│   Qt5MultimediaWidgets.dll
│   Qt5Network.dll
│   Qt5OpenGL.dll
│   Qt5Positioning.dll
│   Qt5PrintSupport.dll
│   Qt5Qml.dll
│   Qt5Quick.dll
│   Qt5Sensors.dll
│   Qt5Sql.dll
│   Qt5Svg.dll
│   Qt5WebChannel.dll
│   Qt5WebKit.dll
│   Qt5WebKitWidgets.dll
│   Qt5WebSockets.dll
│   Qt5Widgets.dll
│
├───audio
│       qtaudio_windows.dll
│
├───bearer
│       qgenericbearer.dll
│       qnativewifibearer.dll
│
├───iconengines
│       qsvgicon.dll
│
├───imageformats
│       qdds.dll
│       qgif.dll
│       qicns.dll
│       qico.dll
│       qjp2.dll
│       qjpeg.dll
│       qmng.dll
│       qsvg.dll
│       qtga.dll
│       qtiff.dll
│       qwbmp.dll
│       qwebp.dll
│
├───mediaservice
│       dsengine.dll
│       qtmedia_audioengine.dll
│
├───platforms
│       qwindows.dll
│
├───playlistformats
│       qtmultimedia_m3u.dll
│
├───position
│       qtposition_positionpoll.dll
│
├───printsupport
│       windowsprintersupport.dll
│
├───sensorgestures
│       qtsensorgestures_plugin.dll
│       qtsensorgestures_shakeplugin.dll
│
├───sensors
│       qtsensors_generic.dll
│
├───sqldrivers
│       qsqlite.dll
│       qsqlmysql.dll
│       qsqlodbc.dll
│       qsqlpsql.dll
│
└───translations
        qt_ca.qm
        qt_cs.qm
        qt_de.qm
        qt_en.qm
        qt_fi.qm
        qt_fr.qm
        qt_he.qm
        qt_hu.qm
        qt_it.qm
        qt_ja.qm
        qt_ko.qm
        qt_lv.qm
        qt_ru.qm
        qt_sk.qm
        qt_uk.qm

QtPositioning,Sql,Qml和QtQuick?上一次我部署Qt程序是使用Qt4;我记得我的依赖度较低。有什么问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-13 15:06:39

您可能希望自己构建Qt并尽可能地减少它。它将仍然是一个混乱,但一个较小的。删除您不需要的可选模块,尽可能使用系统库而不是与Qt捆绑在一起的模块,不要使用ICU --这将减少几乎30 to的依赖关系。

最好的选择是静态地使用静态构建和链接,但也有很多限制,您要么需要商业许可证,要么需要打开代码,而且QML项目的部署已经中断多年了。可悲的是,似乎让所有使用Qt的人的生活尽可能地悲惨已经成为一个相当优先的问题,以迫使开发人员花在昂贵的商业许可证上,这是解决这种情况的唯一方法,或者至少在QT5.7发布时是有希望的。

顺便说一句,如果那些DLL被部署工具拉了进来,我建议不要信任它。我昨天真的试过了,结果被彻底破坏了--没能把一半所需的DLL拉进去,其中一半不是真正需要的,而在qml文件方面,它做得更糟了。

如果不是通过部署工具,那么这些额外的dll可能是间接依赖--例如,web套接字定义了一个QML,因此它们可能将QML作为一个依赖项,这本身就会吸引大量其他模块和库。您应该研究是否可以在没有QML的情况下构建这些模块。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35377897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档