最近我们从QT4.8转到QT 5.0.2。我们的项目现在需要比以前更多的DLL文件。它需要qml,opengl,打印机模块。但是我们在我们的应用程序中没有使用任何这些模块。由于额外的DLL,exe文件的大小增加了。
QT- = qml opengl - >并未将此模块排除在我们的应用程序之外。
Qt 5.0.2是否必须使用这些额外的DLL?有没有办法从这里出来?我们需要排除这些dll以减少exe大小。
答案 0 :(得分:1)
您使用的某些模块可能依赖于您不使用的模块,这意味着您的项目间接依赖于它们。例如,默认情况下,某些模块(QtWebKit,QtMultimedia)使用使用OpenGL的ANGLE。您可以尝试使用名为Dependency Walker的程序(可用here)来跟踪这些依赖项。自4.8以来,Qt GUI发生了很大变化,现在有单独的模块用于打印和其他功能(参见here)。
来源:
顺便说一下,有人有(类似)问题:http://www.qtcentre.org/archive/index.php/t-52102.html。 (不幸的是,该链接没有解决方案。)
事实证明,这实际上是Qt中的bug。
答案 1 :(得分:1)
http://www.qtcentre.org/threads/52102-Deploying-Qt5-app-requires-lots-of-DLL-s 这个链接有类似的问题。但没有解决方案。