Qt и MySQL |
Здравствуйте, гость ( Вход | Регистрация )
Qt и MySQL |
acen83 |
8.7.2008, 19:53
Сообщение
#1
|
Студент Группа: Участник Сообщений: 23 Регистрация: 11.2.2008 Пользователь №: 91 Спасибо сказали: 0 раз(а) Репутация: 0 |
Попробуем еще раз:
Рассмотрим 2 варианта встраивания mysql модуля в Qt: 1) mysql-модуль в качестве плагина По инструкции Вам нужно получить MySQL файлы инсталяции. Запустите SETUP.EXE и выбирите "Custom Install". Установите модуль "Libs & Include Files". Собирается плагин так: (например, MySQL установлен в C:\MySQL): cd %QTDIR%\src\plugins\sqldrivers\mysql qmake -o Makefile "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MySQL\lib\opt\libmysql.lib" mysql.pro nmake скомпилировал плагин, в папке plugins\sqldrivers появился файл qsqlmysql4.dll - вроде все как положено. Но при запуске простого приложения со строчкой QSqlDatabase db = QSqlDatabase::addDatabase("MYSQL"); выводится сообщение об отсутствии mysql модуля, и при этом сообщается что доступны sqlite и odbc... Удалив из папки plugins\sqldrivers файлы sqlite.dll и odbc.dll программа стала ругаться что вообще никаких модулей нет. Но почему она видит эти два модуля и не видит qsqlmysql4.dll? 2) mysql - модуль встроенный в qt во время компиляции qt В инструкции Скрипт configure не может обнаружить необходимые библиотеки(*.lib) и include-файлы, если она находятся не в стандартных директориях, тогда вам может понадобиться указать путь к ним используя -I и -L опции командной строки. Например, если MySQL include-файлы установлены в /usr/local/mysql (или в C:\mysql\include под Windows), тогда добавьте следующий configure параметр: -I/usr/local/mysql (или -I C:\mysql\include для Windows). Под Windows параметр -I не поддерживает пробелы в пути, тогда используйте 8.3 имена; например, используйте C:\progra~1\mysql вместо C:\Program Files\mysql. Используйте параметр -qt-sql-<driver> для статической сборки БД драйвера с Qt библиотекой или -plugin-sql-<driver> для сборки драйвера как плагина. сказано что для этого надо указать пути до mysql-исходников. Запускаю configure с параметрами -I *include path* -L *lib path* -l libmysql.lib. В списке доступных модулей mysql нет Кто нибудь вообще работал с MySql в qt-приложении? Сообщение отредактировал acen83 - 10.7.2008, 18:54 |
|
|
ViGOur |
12.7.2008, 9:30
Сообщение
#2
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Не понял что за клиентские библиотеки DBMS, так что убедится в их доступности не могу Да нет, ключевым словом тут является Visual Studio dependency walker. Посмотри все ли библиотеки твой exe'шник подгружает или какие не видит.Еще вот цитатат от туда: Цитата Если у вас возникли проблемы с загрузкой плагинов, и вы видите ошибку вроде этой: $HOME для винды равен %USERPROFILE% если мне не изменяет память.
QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QMYSQLпроблема вероятно в том, что плагин имеет неправильный ключ сборки. Для отладки удалите соответствующую запись в $HOME/.qt/qt_plugins_(qtversion).rc файле. После чего снова попытайтесь загрузить этот плагин, и вы получите более детальное описание ошибки. |
|
|
evCo |
13.7.2008, 22:45
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 19 Регистрация: 12.7.2008 Пользователь №: 233 Спасибо сказали: 0 раз(а) Репутация: 0 |
Пользовался вот этой штукой как руководством.
http://www.crossplatform.ru/documentation/...ugin-on-windows В дебаг режиме у меня почему-то не подключаються модули сети и sql, но для резлиза все работает. По-этому добавил в про файл CONFIG += release. Выполнил qmake, потом make. Написало:
|
|
|
Текстовая версия | Сейчас: 27.12.2024, 17:28 |