Оказалось, что это проблема из нескольких частей.
Ответ на оригинальный вопрос заключается в том, что Qt ищет библиотеки в рабочем каталоге (QDir::currentPath()
) и в ПУТИ Windows.
Часть 1:
В Windows ошибка specified module could not be found
также может означать, что одна из зависимостей mod_spatialite.dll не найдена.В моем случае я забыл переместить эти зависимости в тот же каталог, что и mod_spatialite.dll.Они включают в себя:
- libgcc_s_dw2-1.dll
- libstdc ++ - 6.dll
- libsqlite3-0.dll
- libxml2-2.dll
- zlib1.dll
- libfreexl-1.dll
- libgeos_c-1.dll
- libgeos-3-5-0.dll
- libiconv-2.dll
- liblzma-5.cll
- libproj-9.dll
Часть 2:
Библиотеки libgcc_s_dw2-1.dll
и libstdc++-6.dll
, поставляемые с libspatialite, не работают с Windows 10. Подробнее об этом здесь и здесь .Они будут аварийно завершать программу при загрузке.Для меня исправлением было получить те же библиотеки из моей установки Qt на C: \ Qt \ 5.11.3 \ mingw53_32.