cod*_*der 9 c++ windows deployment dll qt
通常要部署一个Qt项目我:
所以我现在想尝试windeployqt,这对我来说是存在的 D:\install\Qt\5.5\mingw492_32\bin\
然后我用它运行:
D:\>D:\install\Qt\5.5\mingw492_32\bin\windeployqt.exe d:\software\build-qtGuiTestApp-Desktop_Qt_5_5_0_MinGW_32bit-Debug\debug
这是结果输出:
D:\software\build-qtGuiTestApp-Desktop_Qt_5_5_0_MinGW_32bit-Debug\debug\qtGuiTes
tApp.exe 32 bit, debug executable
Adding Qt5Svg for qsvgicond.dll
Skipping plugin qmldbg_qtquick2d.dll due to disabled dependencies.
Skipping plugin qmldbg_tcpd.dll due to disabled dependencies.
Direct dependencies: Qt5Core Qt5Network Qt5WebKitWidgets Qt5Widgets
All dependencies : Qt5Core Qt5Gui Qt5Multimedia Qt5MultimediaWidgets Qt5Networ
k Qt5OpenGL Qt5Positioning Qt5PrintSupport Qt5Qml Qt5Quick Qt5Sensors Qt5Sql Qt5
WebKit Qt5WebKitWidgets Qt5Widgets
To be deployed : Qt5Core Qt5Gui Qt5Multimedia Qt5MultimediaWidgets Qt5Networ
k Qt5OpenGL Qt5Positioning Qt5PrintSupport Qt5Qml Qt5Quick Qt5Sensors Qt5Sql Qt5
Svg Qt5WebKit Qt5WebKitWidgets Qt5Widgets
Updating Qt5WebChanneld.dll.
Updating icuin54.dll.
Updating icuuc54.dll.
Updating icudt54.dll.
Updating Qt5Cored.dll.
Updating Qt5Guid.dll.
Updating Qt5Multimediad.dll.
Updating Qt5MultimediaWidgetsd.dll.
Updating Qt5Networkd.dll.
Updating Qt5OpenGLd.dll.
Updating Qt5Positioningd.dll.
Updating Qt5PrintSupportd.dll.
Updating Qt5Qmld.dll.
Updating Qt5Quickd.dll.
Updating Qt5Sensorsd.dll.
Updating Qt5Sqld.dll.
Updating Qt5Svgd.dll.
Updating Qt5WebKitd.dll.
Updating Qt5WebKitWidgetsd.dll.
Updating Qt5Widgetsd.dll.
Updating libGLESV2d.dll.
Updating libEGLd.dll.
Updating D3Dcompiler_47.dll.
Creating directory audio.
Updating qtaudio_windowsd.dll.
Creating directory bearer.
Updating qgenericbearerd.dll.
Updating qnativewifibearerd.dll.
Creating directory iconengines.
Updating qsvgicond.dll.
Creating directory imageformats.
Updating qddsd.dll.
Updating qgifd.dll.
Updating qicnsd.dll.
Updating qicod.dll.
Updating qjp2d.dll.
Updating qjpegd.dll.
Updating qmngd.dll.
Updating qsvgd.dll.
Updating qtgad.dll.
Updating qtiffd.dll.
Updating qwbmpd.dll.
Updating qwebpd.dll.
Creating directory mediaservice.
Updating dsengined.dll.
Updating qtmedia_audioengined.dll.
Creating directory platforms.
Updating qwindowsd.dll.
Creating directory playlistformats.
Updating qtmultimedia_m3ud.dll.
Creating directory position.
Updating qtposition_positionpolld.dll.
Creating directory printsupport.
Updating windowsprintersupportd.dll.
Creating directory sensorgestures.
Updating qtsensorgestures_plugind.dll.
Updating qtsensorgestures_shakeplugind.dll.
Creating directory sensors.
Updating qtsensors_genericd.dll.
Creating directory sqldrivers.
Updating qsqlited.dll.
Updating qsqlmysqld.dll.
Updating qsqlodbcd.dll.
Updating qsqlpsqld.dll.
Creating D:\software\build-qtGuiTestApp-Desktop_Qt_5_5_0_MinGW_32bit-Debug\debug
\translations...
Creating qt_ca.qm...
Creating qt_cs.qm...
Creating qt_de.qm...
Creating qt_fi.qm...
Creating qt_fr.qm...
Creating qt_hu.qm...
Creating qt_it.qm...
Creating qt_ja.qm...
Creating qt_ko.qm...
Creating qt_lv.qm...
Creating qt_ru.qm...
Creating qt_sk.qm...
Creating qt_uk.qm...
D:\>
Run Code Online (Sandbox Code Playgroud)
所以看起来不错,因为我的项目虽然非常简单,但却使用:core, gui, network, webkit, webkitwidgets所以是的,很多qt库.
但是,当我运行我的可执行文件时,我收到错误,它无法找到以下库:
我从同一个文件夹(D:\install\Qt\5.5\mingw492_32\bin\)手动添加它们,它工作正常.我的问题是:
如果没有回答这些问题,我发现这个工具对我来说有点无用,因为我自己可以做得更好....我可能会编写一些东西来继续运行它并读取错误并复制相关的dll:o
编辑
下面的文件夹(与DLL的),其中添加,但他们只能达到75MB ...是公平的近1GB的是由于WebKit的,快速的,图形用户界面和其他大型的Qt库,我使用:
mediaservice,
platforms,
playlistformats,
position,
printsupport,
sensorgestures,
sensors,
sqldrivers,
translations,
audio,
iconengines,
imageformats
Run Code Online (Sandbox Code Playgroud)
- 为什么它会错过这些文件?
这些文件与 mingw 运行时库相关,它们不属于 Qt,这就是 Windeployqt 默认不添加它们的原因。
- 我怎样才能让它得到它们?
为了使 windeployqt 将它们添加到部署目录,请尝试将--compiler-runtime开关添加到您的命令中。请注意,您应该使用 Qt 在其开始菜单快捷方式中提供的命令提示符,而不是自己定位 windeployqt 路径。
- 1GB 的库对我来说似乎有点过大,所以我四处走动并删除了一些我认为我不需要的库,但我的可执行文件仍然运行良好。那么如何才能使 windeployqt 更高效,并且只获得所需的 DLL?
我认为您在项目中依赖了太多模块,因此包括它们的所有 dll 文件必须很大,但不确定您排除的 dll 文件以及您的程序如何在没有它们的情况下正常运行。也许您可以命名一些不需要的dll文件。当然,只要您不违反许可证,您始终可以选择静态构建(这将导致更小、更干净的部署大小)。
| 归档时间: |
|
| 查看次数: |
4105 次 |
| 最近记录: |