Russian Qt Forum
Май 07, 2024, 01:36 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Database и Qt 4.0.1  (Прочитано 9536 раз)
bob
Гость
« : Октябрь 26, 2005, 17:54 »

Объявляю #include <QSqlDatabase>, компилирую и получаю сообщение "No such file or directory". Ессесьно проверил наличие файла. Разумеется есть. В чем может быть проблема?
Записан
nEoN
Гость
« Ответ #1 : Октябрь 26, 2005, 20:15 »

В файл проекта надо добавить строчку : QT += sql
Записан
KADABRA
Гость
« Ответ #2 : Октябрь 26, 2005, 20:21 »

Цитата: "bob"
Объявляю #include <QSqlDatabase>, компилирую и получаю сообщение "No such file or directory". Ессесьно проверил наличие файла. Разумеется есть. В чем может быть проблема?

Попробуй #include <QtSql/QSqlDatabase>
Записан
AlexKiriukha
Гость
« Ответ #3 : Октябрь 26, 2005, 22:14 »

Все таки правильнее будет QT += sql. Это добавит пути поиска для INCLUDE и прилинкует libQtSql.
Записан
bob
Гость
« Ответ #4 : Октябрь 26, 2005, 22:45 »

QT += sql помогло, но следующая проблема

Код:

QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("test");
db.setUserName("root");
db.setPassword("578010");
bool ok = db.open();


Не могу открыть БД. Постоянно ok == false.
Записан
nEoN
Гость
« Ответ #5 : Октябрь 27, 2005, 08:19 »

Посмотри какая ошибка возвращается при попытке открытия БД :
Код:
db.lastError().text()
Записан
bob
Гость
« Ответ #6 : Октябрь 27, 2005, 09:26 »

db.lastError() пишет "Driver Not Loaded". При попытке выполнить сборку плагина (согласно Assistance)
Код:

cd %QTDIR%\src\plugins\sqldrivers\mysql
    qmake -o Makefile "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C:\MYSQL\LIB\OPT\LIBMYSQL.LIB" mysql.pro
    mingw32-make

Сообщает, что не найден файл lmysql.lib.
Если выполняю
Код:
configure.exe -release -qt-sql-mysql
то в процессе перекомпиляции сообщает: qsql_mysql.h:34:19: mysql.h no such file or directory.
qsql_mysql.h:82 error:Expected ')' before '*' token.

Тоже самое получаю если согласно примера указываю
#include "C:/Qt/4.0.1/src/sql/drivers/mysql/qsql_mysql.cpp"
Записан
AlexKiriukha
Гость
« Ответ #7 : Октябрь 27, 2005, 09:36 »

А комрилятор какой? Его версия? Версия компилятора? ОС?
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #8 : Октябрь 27, 2005, 09:45 »

явно пишет что не находит headers от mysql

ты дожен в INCLUDES прописать путь к заголовочным файлам от mysql
что бы qt c ними слинковался
Записан
bob
Гость
« Ответ #9 : Октябрь 27, 2005, 09:59 »

Компиляю MinGW-3.4.2.

Как првильно системные переменный должны называться?
INCLUDE
LIB

INCLUDES
LIBS

INCLUDEPATH
LIBPATH
Записан
nEoN
Гость
« Ответ #10 : Октябрь 27, 2005, 10:13 »

Попробуй в файл своего проекта (.pro) добавить :
Код:
INCLUDEPATH += C:\MYSQL\INCLUDE

После этого компилятор должен найти mysql.h.
Записан
bob
Гость
« Ответ #11 : Октябрь 27, 2005, 10:28 »

Объявил системный переменные INCLUDES и LIBS. Прописал:
INCLUDES = C:\MySQL\include
LIBS = C:\MySQL\lib\opt

Теперь при сборке после
Код:
cd %QTDIR%\src\plugins\sqldrivers\mysql 
    qmake -o Makefile "INCLUDEPATH+=C:\MYSQL\INCLUDE" "LIBS+=C:\MYSQL\LIB\OPT\LIBMYSQL.LIB" mysql.pro
    mingw32-make

сообщает, что нет файла qsqlmysql.dll. Его действиетльно нет, но если он так нужен, то где его можно взять?
Записан
bob
Гость
« Ответ #12 : Октябрь 27, 2005, 11:36 »

Написал лажу не находит -lmysql.lib и поэтому не создает qsqlmysql.dll.
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #13 : Октябрь 27, 2005, 16:16 »

таки это же либа от mysql


подсунь ее
Записан
bob
Гость
« Ответ #14 : Октябрь 27, 2005, 16:25 »

Подсуну. Скажи куда именно.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 22.