Russian Qt Forum

Qt => Базы данных => Тема начата: crocus от Декабрь 13, 2006, 05:34



Название: SQL модуль тянет библиотеки
Отправлено: crocus от Декабрь 13, 2006, 05:34
Qt собирал -static -release -qt-sql-mysql ... и так далее, т.е. все слинковано статически и все равно на чужой голой машине затребовал libmysql.dll, хотя подключения к QMYSQL не происходит. Что не так??


Название: SQL модуль тянет библиотеки
Отправлено: Dendy от Декабрь 13, 2006, 05:54
К QtSql статически слинкован плагин. А плагин динамически слинкован с libmysql.dll. Вот и получаем.


Название: SQL модуль тянет библиотеки
Отправлено: crocus от Декабрь 13, 2006, 06:34
Блин, я и заметил когда пересобирал проект на 4.2.2 что он сначала попросил либу  к MySQL, потом FireBird, а затем к DB2 --решил что опять с путями накосячил, а оказывается нет.И что делать-то --не таскать же с собой библиотеки ко всем базам??


Название: SQL модуль тянет библиотеки
Отправлено: Dendy от Декабрь 13, 2006, 07:03
Прилинкуй статически. Кажется, вместо libmysql.lib нужно mysqlclient.lib. А вообще - почему б и не потаскать за собой? 2 метра всего.


Название: SQL модуль тянет библиотеки
Отправлено: Tonal от Декабрь 13, 2006, 07:53
Цитата: "crocus"
Блин, я и заметил когда пересобирал проект на 4.2.2 что он сначала попросил либу  к MySQL, потом FireBird, а затем к DB2 --решил что опять с путями накосячил, а оказывается нет.И что делать-то --не таскать же с собой библиотеки ко всем базам??
Именно для этого драйвера к SQL-ям лучше собирать как динамические плагины.
Легче таскать плагин и клиент (или только плагин со статически влинкованным клиентом), чем все клиенты для всех баз. ;-)


Название: SQL модуль тянет библиотеки
Отправлено: crocus от Декабрь 13, 2006, 07:55
Тоже верно -- использую  Embedded FireBird --так папка проги выглядит довольно хламно, поэтому одним файлом больше - одним меньше без разницы, но на будущее --при следующей сборке --воспользуюсь твоим советом!


Название: SQL модуль тянет библиотеки
Отправлено: crocus от Декабрь 17, 2006, 10:56
Ну точно пересобрал LIBS     *= -lmysqlclient и больше не требует libmysql.dll.