Что я наделал:
Я использую Windows 10, и мое приложение написано на C++ / Qt 5.11.1 / MinGW 5.3.0. Я скомпилировал его вместе с релизным комплектом и запустил на нем windeployqt с C:\Qt\5.11.1\mingw53_32\bin. В нем все еще отсутствовали libgcc_s_dw2-1.dll и libwinpthread-1.dll, поэтому я также скопировал их из C:\Qt\Tools\mingw530_32\bin в каталог приложения.
Ошибка:
Всякий раз, когда я пытаюсь запустить свое приложение, я получаю сообщение об ошибке
Procedure entry point _ZdlPvj could not be located in Qt5Sql.dll
Procedure entry point _ZNSt18condition_variable4waitERSt11unique_locklSt5mutexE could not be located in Qt5Core.dll
Насколько я могу судить, я удалил все включения qDebug из своих файлов и предполагаю, что windeployqt скопирован поверх правильных dll. Я пробовал Dependency Walker, но не смог добиться хороших результатов, поэтому не знаю, что делать дальше.
@drescherjm Я только что проверил, на моем пути вообще нет Qt. Из интереса: не будут ли библиотеки DLL в каталоге исполняемого файла заменять все, что находится в пути?
Вы уверены, что Qt построен с использованием MinGW. Двоичные файлы Visual Studio работать не будут.
@drescherjm Я удалил свою папку сборки, отключил все комплекты, кроме Qt 5.11.1 MinGW, перестроил и повторно запустил windeployqt. По какой-то причине на этот раз я получил только вторую ошибку.
@drescherjm Я нашел ответ. Спасибо, что направили меня на правильный путь!





Проблема заключалась в том, что windeployqt по какой-то причине не смог найти gcc. Я добавил его в свой путь из cmd с SET PATH=%PATH%;C:\Qt\Tools\mingw530_32\bin. После того, как я снова запустил windeployqt, мне не пришлось копировать libgcc_s_dw2-1.dll и libwinpthread-1.dll вручную, и он использовал правильный Qt5Core.dll, поскольку приложение теперь работает нормально.
Это означает, что установленные вами двоичные файлы Qt не соответствуют версии двоичных файлов Qt, с которыми вы скомпилировали. Возможно, на вашем пути есть какая-то другая версия Qt.