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 |
|
|
rich |
8.7.2008, 19:56
Сообщение
#2
|
Участник Группа: Участник Сообщений: 123 Регистрация: 1.3.2008 Пользователь №: 109 Спасибо сказали: 6 раз(а) Репутация: 0 |
Попытался заюзать данные с MySql сервера - qt заругался что в нем нет драйвера MySQL. Поставил MySql 5 на комп, запускаю configure qt - в списках доступных баз MySql нету Как же это все работает? p.s. библиотеку мне еще надо собрать статическую, чтобы никаких дополнителных файлов к экзешнику не требовалось мож при сборке Qt поддержку Sql драйвера надо было указать |
|
|
acen83 |
8.7.2008, 19:58
Сообщение
#3
|
Студент Группа: Участник Сообщений: 23 Регистрация: 11.2.2008 Пользователь №: 91 Спасибо сказали: 0 раз(а) Репутация: 0 |
deleted
Сообщение отредактировал acen83 - 10.7.2008, 18:50 |
|
|
Admin |
8.7.2008, 20:00
Сообщение
#4
|
Администратор Группа: Администратор Сообщений: 646 Регистрация: 9.10.2007 Из: crossplatform.ru Пользователь №: 1 Спасибо сказали: 17 раз(а) Репутация: 2 |
Попробуй руками собрать плагин для MYSQL: Как собрать QMYSQL плагин под Windows
p.s. acen83, одного нажатия на кнопку отправить достаточно. |
|
|
acen83 |
8.7.2008, 21:19
Сообщение
#5
|
Студент Группа: Участник Сообщений: 23 Регистрация: 11.2.2008 Пользователь №: 91 Спасибо сказали: 0 раз(а) Репутация: 0 |
deleted
Сообщение отредактировал acen83 - 10.7.2008, 18:50 |
|
|
ViGOur |
9.7.2008, 8:08
Сообщение
#6
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
эээ... qmak'а то еще нет (библиотека не собрана)... 2 раза чтоли компилировать придется? Не понял, у тебя не собрана Qt? Если так, то собирай просто с поддержкой MySql.Теперь запускаю configure, но в списках найденных в системе плагинов mySql нет А зачем ты запускаешь configure?Для проверки наличия mysql поддержки можно запустить %qtdir%\demos\sqlbrowser Для решения проблем возникшей при установке поддержки mysql читай: Драйвера баз данных SQL -> Решение проблем |
|
|
acen83 |
9.7.2008, 18:17
Сообщение
#7
|
Студент Группа: Участник Сообщений: 23 Регистрация: 11.2.2008 Пользователь №: 91 Спасибо сказали: 0 раз(а) Репутация: 0 |
deleted
Сообщение отредактировал acen83 - 10.7.2008, 18:51 |
|
|
acen83 |
10.7.2008, 18:52
Сообщение
#8
|
Студент Группа: Участник Сообщений: 23 Регистрация: 11.2.2008 Пользователь №: 91 Спасибо сказали: 0 раз(а) Репутация: 0 |
Заново сформулировал проблему (в 1 посте)
|
|
|
ViGOur |
11.7.2008, 8:51
Сообщение
#9
|
Мастер Группа: Модератор Сообщений: 3296 Регистрация: 9.10.2007 Из: Москва Пользователь №: 4 Спасибо сказали: 231 раз(а) Репутация: 40 |
Угу, я работаю, поначалу шаманил как и ты, но после прочтения: Драйвера баз данных SQL -> Решение проблем и следования инструкциям у меня заработал плагин.
|
|
|
ЙаМайскЫйПчОЛ |
11.7.2008, 11:27
Сообщение
#10
|
Участник Группа: Участник Сообщений: 154 Регистрация: 10.7.2008 Из: СПб Пользователь №: 232 Спасибо сказали: 7 раз(а) Репутация: 5 |
QSqlDatabase db = QSqlDatabase::addDatabase("MYSQL"); ???
1) QT += sql (.pro) 2) #include <QtSql> 3) QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); !!! или я чего то не понял??? у меня так работало. Debian etch r3+ Qt 4.3.5 (commercial) + (vim || KDevelop || QDevelop) + g++ сказано что для этого надо указать пути до mysql-исходников. Запускаю configure с параметрами -I *include path* -L *lib path* -l libmysql.lib. В списке доступных модулей mysql нет sad.gif ? зачем? какая платформа, какой Qt ? Сообщение отредактировал ЙаМайскЫйПчОЛ - 11.7.2008, 11:23 |
|
|
Текстовая версия | Сейчас: 27.12.2024, 0:47 |