Развертывание Qt5 "Не удалось найти точку входа в процедуру" - PullRequest
0 голосов
/ 31 августа 2018

Что я сделал:

Я на 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 в каталог приложения.

Ошибка:

Всякий раз, когда я пытаюсь запустить свое приложение, я получаю ошибки

Не удалось найти точку входа в процедуру _ZdlPvj в Qt5Sql.dll

Не удалось найти точку входа в процедуру _ZNSt18condition_variable4waitERSt11unique_locklSt5mutexE в Qt5Core.dll

Из того, что я могу сказать, я удалил все включения qDebug из моих файлов, и я предполагаю, что windeployqt скопировал правильные dll. Я пробовал Dependency Walker, но не смог добиться значительных результатов, поэтому я не уверен, что делать дальше.

1 Ответ

0 голосов
/ 01 сентября 2018

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

...