Я использую исполняемый файл windeployqt
, чтобы подготовить дерево установки.Инструмент копирует все необходимые (и даже некоторые ненужные) библиотеки в указанную папку и выполняет исправления в 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, хотя кажется, что эти переключатели не имеют ничего общего сЭта проблема.Любые указатели будут высоко оценены.