Я пытаюсь создать каталог распространения с моим приложением. Я скопировал несколько Qt DLL в этот каталог, и программа, кажется, работает, за одним исключением: похоже, она не находит подключаемый модуль SQL для SQLite. Копирование qtsqlite.dll в каталог не позволяет моему приложению открывать или создавать файлы SQLite. Какой должна быть структура каталогов или какие дополнительные файлы необходимо скопировать, чтобы программа могла читать базу данных?
Какие Qt DLL мне следует скопировать, чтобы сделать мою программу автономной?
Ответы (3)
вы можете использовать depends.exe, чтобы точно узнать, какие зависимости у вашего исполняемого файла, и убедиться, что все они включены.
Также прочтите эту страницу о плагинах qt. они должны находиться в определенном каталоге под названием «плагины», а не в основном каталоге со всеми другими DLL.
Скорее всего, сама qtsqlite.dll зависит от оригинальной DLL SQLite, которую вам, вероятно, также необходимо скопировать.
Не забудьте включить копию лицензии LGP в свой дистрибутив, а также указатели на исходные ресурсы для загрузки библиотек, которые вы включаете, и их источники. Чтобы остаться с законом :-)
Благодаря предоставленной ссылке @shoosh я смог решить проблему. Мне нужно было создать подкаталог sqldrivers в каталоге дистрибутива с библиотекой qsqlite.dll внутри. Но это был только первый шаг. Есть ли у вас какие-либо советы и ресурсы по созданию полноценного установщика Windows? Я в основном программист Linux, поэтому эта область мне неизвестна.