最近我们从QT4.8升级到qt5.0.2。我们的项目现在需要比以前更多的DLL文件。它需要qml, opengl,打印机模块。然而,我们并没有在我们的应用程序中使用这些模块。由于额外的dll, exe文件的大小增加了。
QT-= qml opengl ->没有将此模块从我们的应用程序中排除。
这些额外的dll是Qt 5.0.2必须的吗?有什么办法可以摆脱这种局面吗?我们需要排除这些dll来减少exe的大小。
您使用的一些模块可能依赖于您不使用的模块,这意味着您的项目间接依赖于它们。例如,默认情况下,一些模块(QtWebKit, QtMultimedia)使用使用OpenGL的ANGLE。你可以尝试使用一个名为Dependency Walker的程序来跟踪这些依赖。Qt GUI自4.8版以来改变了很多,现在有独立的模块用于打印和其他功能(见这里)。
来源:
- Qt 5在Windows ANGLE和OpenGL上 Qt 5在Windows上的部署
顺便说一下,有人有过类似的问题:http://www.qtcentre.org/archive/index.php/t-52102.html。(不幸的是,在这个链接中没有解决方案。)
原来这是Qt的一个bug