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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Драйвер для MySQL в ubuntu.  (Прочитано 8680 раз)
rezor
Гость
« : Январь 16, 2011, 22:19 »

Собираю драйвер по инструкции.
cd $QTDIR/src/plugins/sqldrivers/mysql
qmake -o Makefile "INCLUDEPATH+=/usr/local/include" "LIBS+=-L/usr/local/lib -lmysqlclient_r" mysql.pro
делаю make и ошибка как поправить???
Код:
stas@stas-desktop:~/qtsdk-2010.02/qt/src/plugins/sqldrivers/mysql$ make
g++ -c -pipe -O2 -fvisibility=hidden -fvisibility-inlines-hidden -D_REENTRANT -Wall -W -fPIC -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtSql -I/usr/include/qt4 -I/usr/local/include -I. -o main.o main.cpp
In file included from main.cpp:44:
../../../sql/drivers/mysql/qsql_mysql.h:52: fatal error: mysql.h: Нет такого файла или каталога
compilation terminated.
make: *** [main.o] Ошибка 1

Записан
JamS007
Гость
« Ответ #1 : Январь 16, 2011, 23:20 »

Если ошибки валяться и Вы не хотите с ними разбираться - делайте как я Улыбающийся
Наберите в терминале:
Цитировать
sudo apt-get install libqt4-sql-mysql

и будет вам счастье.

Updated: способ подходит только в случае если Вы используете gcc.
Записан
rezor
Гость
« Ответ #2 : Январь 16, 2011, 23:52 »

Вроде собрал завершилось так
Код:
stas@stas-desktop:~/qtsdk-2010.02/qt/src/plugins/sqldrivers/mysql$ sudo make install
install -m 755 -p "libqsqlmysql.so" "/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so"
strip --strip-unneeded "/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so"
stas@stas-desktop:~/qtsdk-2010.02/qt/src/plugins/sqldrivers/mysql$
Как-то этот драйвер нужно подключать к проекту, просто ошибка осталась при подключении.
Код:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QSQLITE2
Error occured in connection to database
« Последнее редактирование: Январь 17, 2011, 00:12 от rezor » Записан
tim474
Гость
« Ответ #3 : Январь 17, 2011, 01:23 »

Это ты используешь свою версию Qt, не из репозитория? А можно поинтересоваться — зачем? Если из репозитория, то ничего собирать надо, надо только поставить пакет libqt4-sql-mysql.
Записан
rezor
Гость
« Ответ #4 : Январь 17, 2011, 13:23 »

Я использую SDK с оф сайта и Qt Creator  все стандартное без левых сборок!
Пакет  libqt4-sql-mysql уже стоит!
Функция подключения
Код:
#ifndef DATA_BASE_USE_H
#define DATA_BASE_USE_H
#include "mainwindow.h"
void MainWindow::connecting_data_base()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
       db.setHostName(host_name->text());
       db.setDatabaseName(database_name->text());
       db.setUserName(user_name->text());
       db.setPassword(password_base->text());
       if (db.open())
           {
               qDebug("connected to database");
           }
           else
           {
               qDebug("Error occured in connection to database");
           }

}

#endif // DATA_BASE_USE_H
.pro
Код:
# -------------------------------------------------
# Project created by QtCreator 2011-01-13T19:05:29
# -------------------------------------------------
QT += sql
TARGET = MyDB
TEMPLATE = app
SOURCES += main.cpp \
    mainwindow.cpp
HEADERS += mainwindow.h \
    data_base_use.h
FORMS += mainwindow.ui

« Последнее редактирование: Январь 17, 2011, 13:41 от rezor » Записан
vovan1982
Гость
« Ответ #5 : Январь 17, 2011, 14:21 »

положи файл /qtsdk-2010.02/qt/src/plugins/sqldrivers/mysql/libqsqlmysql.so
в папку /qtsdk-2010.02/qt/plugins/sqldrivers/
Записан
rezor
Гость
« Ответ #6 : Январь 17, 2011, 14:39 »

Все спасибо поставил последнюю версию SDK и все автоматом заработало!
Записан
tim474
Гость
« Ответ #7 : Январь 18, 2011, 07:32 »

Цитировать
Я использую SDK с оф сайта и Qt Creator  все стандартное без левых сборок!
Как раз в данном случае сборка с сайта нокии будет левее и нестандартнее Смеющийся
Записан
Jkc
Гость
« Ответ #8 : Январь 30, 2011, 23:33 »

Цитировать
Я использую SDK с оф сайта и Qt Creator  все стандартное без левых сборок!
Как раз в данном случае сборка с сайта нокии будет левее и нестандартнее Смеющийся
Сборка сайта нокии будет всегда самая новая, собирается она очень даже стандартно
а если взять сборку драйвера скажем под firebird то в сборке убунту собрать её практически нереально.
Записан
AdAn
Гость
« Ответ #9 : Апрель 23, 2011, 16:30 »

Как сделать так чтобы Qt цеплялся с lampp мускульсервера, а не со стандартного?
Записан
AdAn
Гость
« Ответ #10 : Май 24, 2011, 09:39 »

После некоторого простоя, нашел решение для Ubuntu. Довольно таки простое, кому-то покажется неправильным.
Как установили драйвер MySql для Qt (НО не устанавливали сервер MySql, но стоит LAMPP), написали прогу и запустили, то появится сообщение с ошибкой, что не возможно подключиться к mysqld.sock и указан путь к этому файлу.
Так вот, я просто сделал линк от mysql.sock в lampp (у меня /opt/lampp/var/mysql/mysql.sock) в тот путь куда направляет ошибка (в моем случае /var/(непомню)/mysqld/mysqld.sock).
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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