我在用着windeployqt
可执行文件来准备我的安装树。该工具将所有必需的(甚至一些不必要的)dll 复制到指定文件夹中,并对 Qt5Core.dll 进行硬编码路径变量的修补。以下是我执行该工具的方法。
C:\Qt\5.11.2\mingw53_32\bin>windeployqt.exe D:\Imaq
D:\Imaq\Imaq.exe 32 bit, debug executable
Adding Qt5Svg for qsvgicond.dll
Direct dependencies: Qt5Core Qt5Gui Qt5Network Qt5Widgets
All dependencies : Qt5Core Qt5Gui Qt5Network Qt5Widgets
To be deployed : Qt5Core Qt5Gui Qt5Network Qt5Svg Qt5Widgets
Updating Qt5Cored.dll.
Updating Qt5Guid.dll.
Updating Qt5Networkd.dll.
Updating Qt5Svgd.dll.
Updating Qt5Widgetsd.dll.
Updating libGLESV2d.dll.
Updating libEGLd.dll.
Updating D3Dcompiler_47.dll.
Updating opengl32sw.dll.
Updating libgcc_s_dw2-1.dll.
Updating libstdc++-6.dll.
Patching Qt5Cored.dll...
Creating directory D:/Imaq/bearer.
Updating qgenericbearerd.dll.
Creating directory D:/Imaq/iconengines.
Updating qsvgicond.dll.
Creating directory D:/Imaq/imageformats.
Updating qgifd.dll.
Updating qicnsd.dll.
Updating qicod.dll.
Updating qjpegd.dll.
Updating qsvgd.dll.
Updating qtgad.dll.
Updating qtiffd.dll.
Updating qwbmpd.dll.
Updating qwebpd.dll.
Creating directory D:/Imaq/platforms.
Updating qwindowsd.dll.
Creating directory D:/Imaq/styles.
Updating qwindowsvistastyled.dll.
Creating D:\Imaq\translations...
Creating qt_ar.qm...
Creating qt_bg.qm...
.
.
从上面的输出来看,该工具正在运行,没有任何错误。但部署后,如果我尝试执行二进制文件,则会显示以下错误。
从错误来看,似乎复制了错误的 dll。但是,在我的机器上,我只有一个编译器 (mingw53_32),并且这些 dll 没有其他可能的版本。
注意:我使用在线安装程序安装了 Qt,并且只从列表中选择了 Qt Creator 和 Qt mingw。安装程序中列出的所有其他组件均未选中。我想知道这个问题是否是由于缺少任何组件造成的。
另外,我尝试过像 --debug、--compiler-runtime 这样的开关,尽管这些开关似乎与这个问题没有任何关系。任何指示将不胜感激。
据我从你的了解windeployqt
输出,您正在尝试部署应用程序的调试版本(如windeployqt.exe
正在复制“Qt5Cored.dll、Qt5Guid.dll、Qt5Networkd.dll”等库)。您应该尝试部署应用程序的发布版本。
在 Qt Creator 中,您将在左下角、运行按钮上方找到该选项。当项目打开时,可以通过单击左侧工具栏中的“项目”来访问调试和发布构建的构建配置。
如指定Qt5.11.2 Windeployqt 未创建有限依赖 dll https://stackoverflow.com/questions/53268285/qt5-11-2-windeployqt-is-not-creating-finite-dependent-dll
Qt 5.11.2 与 Windeployqt 一起提供选项/标志,用于创建与调试/发布可执行文件关联的依赖项。
用于创建调试版本相关的 dll:Windeployqt 可执行文件 --debug
用于创建发布版本相关的 dll:Windeployqt 可执行文件 --release
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)