由于对一些具有GPL许可证的Qt库(大多数是可用的LGPL )的担忧,我们删除了项目中大多数未使用的依赖项。在运行windeployqt之后:
windeployqt.exe --dir setup --compiler-runtime --release --qmldir ..\Qml ..\release\OUREXE.exe我们得到以下日志:
Direct dependencies: Qt5Core Qt5Gui Qt5Network Qt5Qml Qt5Quick Qt5WebSockets Qt5Widgets Qt5WebEngineCore Qt5WebEngineWidgets Qt53DCore Qt53DRender Qt53DInput Qt53DExtras
All dependencies : Qt5Concurrent Qt5Core Qt5Gamepad Qt5Gui Qt5Network Qt5Positioning Qt5PrintSupport Qt5Qml Qt5Quick Qt5QuickWidgets Qt5WebSockets Qt5Widgets Qt5WinExtras Qt5WebEngineCore Qt5WebEngineWidgets Qt53DCore Qt53DRender Qt53DQuick Qt53DQuickRender Qt53DInput Qt53DAnimation Qt53DExtras Qt5WebChannel
To be deployed : Qt5Concurrent Qt5Core Qt5Gamepad Qt5Gui Qt5Network Qt5Positioning Qt5PrintSupport Qt5Qml Qt5Quick Qt5QuickWidgets Qt5SerialPort Qt5Svg Qt5WebSockets Qt5Widgets Qt5WinExtras Qt5WebEngineCore Qt5WebEngineWidgets Qt53DCore Qt53DRender Qt53DQuick Qt53DQuickRender Qt53DInput Qt53DAnimation Qt53DExtras Qt5WebChannel正如您所看到的,尽管windeployqt知道“需要的”模块,但它似乎部署了所有的Qt模块,甚至是未使用的模块。我知道可以使用"--no-“选项手动排除模块,但我希望windeployqt仅自动检测和添加直接依赖项。有没有办法通过这个程序将部署的模块限制在最低限度?
发布于 2020-10-28 19:10:07
原来Qt53DQuick不是QtQuick 3D模块库。Qt 5.12.x没有QtQuick 3D模块,dlls是Qt3D模块的一部分。
https://stackoverflow.com/questions/64531644
复制相似问题