crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

fe120
  опции профиля:
сообщение 6.1.2010, 20:03
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 13
Регистрация: 6.1.2010
Пользователь №: 1354

Спасибо сказали: 1 раз(а)




Репутация:   0  


Всем доброго времени суток.
И так суть в следующем:
Был скачан Qt SDK for Linux/X11 64-bit** (444 MB), были проделаны следующие дейстивия:
chmod u+x qt-sdk-linux-x86_64-opensource-2009.05.bin
./qt-sdk-linux-x86_64-opensource-2009.05.bin

Далее был установлен в папку /home/gudron/qtsdk-2009.05
Тут все прекрасно.

Далее по советам в инете, рекомендуется пересобрать qt, с поддержкой нужного драйвера:
$ cd /home/gudron/qtsdk-2009.05/qt
./configure -qt-sql-mysql -I /usr/include/mysql -L /usr/lib/mysql
make
sudo make install

После чего qt преспокойно устанавливается себе в /usr/local/Trolltech/Qt-4.6.0

Далее настраиваю в Инструменты -> Параметры, путь до qmake: /usr/local/Trolltech/Qt-4.6.0/bin/qmake
Создаю сам проект, QtWidget... в файл *.pro выглядит следующим образом:
TARGET = pass
TEMPLATE = app
QT      +=sql


SOURCES += main.cpp\
        widget.cpp

HEADERS  += widget.h

FORMS    += widget.ui

Далее есть функция:
#include "widget.h"
#include <QtSql>
#include "ui_widget.h"
....
void  Widget::on_acept_clicked(){
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setDatabaseName("kursach");
    db.setUserName("gudron");
    db.setHostName("localhost");
    db.setPassword("123");
    if(!db.open()) ui->lineEdit->setText(db.lastError().text());
    else{
    ui->lineEdit->setText("Connected");
    ui->checkBox->setChecked(true);
}}

Срабатывает функция при нажатии кнопки, коннекты сигналов и слотов приводить не буду.
Да только консоль приложения дает следующее:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QSQLITE2 QODBC3 QODBC QPSQL7 QPSQL
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QSQLITE2 QODBC3 QODBC QPSQL7 QPSQL
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.

Делал так же что рекомендуется на http://doc.crossplatform.ru/qt/4.3.2/sql-d...ugin-on-windows

Где и как проследит собрался ли драйвер. и правильно ли я его собирал.
Заранее всем спасибо. С наступающим вот вот Рождеством. И прошедшим новым годом. =))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
3 страниц V   1 2 3 >  
Начать новую тему
Ответов (1 - 21)
fe120
  опции профиля:
сообщение 6.1.2010, 22:43
Сообщение #2


Студент
*

Группа: Новичок
Сообщений: 13
Регистрация: 6.1.2010
Пользователь №: 1354

Спасибо сказали: 1 раз(а)




Репутация:   0  


что действительно порадовало, это то что после ./configure make && sudo make install проекты в стали компилироваться в разы быстрее...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
fe120
  опции профиля:
сообщение 6.1.2010, 23:51
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 13
Регистрация: 6.1.2010
Пользователь №: 1354

Спасибо сказали: 1 раз(а)




Репутация:   0  


Или хотя бы объясните, как правильно устанавливать qt creator с нуля, и собирать драйвер...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 7.1.2010, 0:26
Сообщение #4


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(fe120 @ 6.1.2010, 20:03) *
Где и как проследит собрался ли драйвер
В QTDIR/plugings/sqldrivers должен появиться libqsqlmysql.so
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
fe120
  опции профиля:
сообщение 7.1.2010, 1:58
Сообщение #5


Студент
*

Группа: Новичок
Сообщений: 13
Регистрация: 6.1.2010
Пользователь №: 1354

Спасибо сказали: 1 раз(а)




Репутация:   0  


Цитата(igor_bogomolov @ 7.1.2010, 1:26) *
Цитата(fe120 @ 6.1.2010, 20:03) *
Где и как проследит собрался ли драйвер
В QTDIR/plugings/sqldrivers должен появиться libqsqlmysql.so


gudron@GUDRON:~/qtsdk-2009.05/qt/src/plugins/sqldrivers/mysql$ ls
main.cpp  Makefile  mysql.pro  mysql.pro.user  README


Очевидно не собрался.

у меня собственно вопрос...есть ведь реализация заголовков MySQL для чистого Си и для Си++, одна лежит в /usr/include/mysql, другая /usr/include/mysql++, какую необходимо указывать при
qmake "INCLUDEPATH+=/usr/include/????" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro


собственно при qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro, получаю следующее:
gudron@GUDRON:~/qtsdk-2009.05/qt/src/plugins/sqldrivers/mysql$ qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" 
mysql.proqt_config.prf:7: include(file) requires one argument.
/home/gudron/qtsdk-2009.05/qt/src/plugins/sqldrivers/mysql/mysql.pro:82: Parse Error ('first: all')
Error processing project file: mysql.pro
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 7.1.2010, 3:06
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


строчка
Цитата(fe120 @ 6.1.2010, 23:03) *
./configure -qt-sql-mysql
говорит собрать драйвер как часть Qt, а не в виде плагина (т.е. в нутрь QtSql4). Если ошибок не было при сборке Qt, то значит, что собралось. Только почему не видно в списке доступных драйверов, не знаю.

Было бы лучше собрать как плагин, т.к. он относительно не зависим и его можно пересобирать не трогая Qt.

Цитата(fe120 @ 7.1.2010, 4:58) *
собственно при qmake "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro, получаю следующее:
всё верно, у тебя Qt не сконфигурирована для сборки плагина MySql, нужно удалить всю сборку:
make confclean
а затем конфигурировать и собирать Qt снова
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
fe120
  опции профиля:
сообщение 7.1.2010, 14:39
Сообщение #7


Студент
*

Группа: Новичок
Сообщений: 13
Регистрация: 6.1.2010
Пользователь №: 1354

Спасибо сказали: 1 раз(а)




Репутация:   0  


Произвел следующее:
cd /home/gudron/qtsdk-2009.05/qt
make confclean
./configure -plugin-sql-mysql -I /usr/include/mysql -L /usr/lib/mysql
make
sudo make install
//жду какое-то время пока выполниться каждая из выше перечисленных команд
cd /home/gudron/qtsdk-2009.05/qt/src/plugins/sqldrivers/mysql
qmake Makefile "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro -o
и ответом последней команды является все тоже:
gudron@GUDRON:~/qtsdk-2009.05/qt/src/plugins/sqldrivers/mysql$ qmake Makefile "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro -o
qt_config.prf:7: include(file) requires one argument.
/home/gudron/qtsdk-2009.05/qt/src/plugins/sqldrivers/mysql/Makefile:82: Parse Error ('first: all')
Error processing project file: Makefile

Может необходимо при ./configure указывать какой либо еще параметр акромя -plugin-sql-mysql
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 7.1.2010, 14:46
Сообщение #8


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(fe120 @ 7.1.2010, 17:39) *
Может необходимо при ./configure указывать какой либо еще параметр акромя -plugin-sql-mysql
нет

fe120, покажи свой mysql.pro

Цитата(fe120 @ 7.1.2010, 17:39) *
qmake Makefile "INCLUDEPATH+=/usr/include/mysql" "LIBS+=-L/usr/lib/mysql -lmysqlclient_r" mysql.pro -o
эта строка меня смущает, после ключа -o пусто, а поидее там должно быть то, что ты в качестве первого аргумента записал.
Вот мой пример для Firebird'а:
cd %QTDIR%\src\plugins\sqldrivers\ibase
qmake -o Makefile "INCLUDEPATH+=F:\Firebird\Firebird_2_1\include" "LIBS+=F:\Firebird\Firebird_2_1\lib\fbclient.lib" ibase.pro
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
fe120
  опции профиля:
сообщение 7.1.2010, 15:57
Сообщение #9


Студент
*

Группа: Новичок
Сообщений: 13
Регистрация: 6.1.2010
Пользователь №: 1354

Спасибо сказали: 1 раз(а)




Репутация:   0  


Довольно удивительно, но файл libsqlmysql.so, появляется в каталоге /usr/local/Trolltech/Qt-4.6.0/plugins/sqldrivers, после выполения sudo make install...
и без всяких запусков, qmake из каталога /home/gudron/qtsdk-2009.05/qt/src/plugins/sqldrivers/mysql/
мб, это так сказать улучшение в последней версии qt?? и все необходимое что было указано в при ./configure делается на этапах make и make install
все работает, сижу успешно играюсь, с select count(*) from ? таблиц в бд.
Надеюсь что и дальше все будет успешно. Спасибо за помощь.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 7.1.2010, 16:45
Сообщение #10


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


fe120, возможно, что обнаружив нужные библиотеки (указанные при конфигурации) configure создаст необходимые цели в make-файлах.
Покрайней мере на виндовозе плагин ODBC собирается автоматом при сборке Qt. Другие я не пробовал на этапе конфигурации подключать
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
igor_bogomolov
  опции профиля:
сообщение 7.1.2010, 18:03
Сообщение #11


Профессионал
*****

Группа: Сомодератор
Сообщений: 1215
Регистрация: 22.3.2009
Из: Саратов
Пользователь №: 630

Спасибо сказали: 235 раз(а)




Репутация:   29  


Цитата(fe120 @ 7.1.2010, 15:57) *
Довольно удивительно, но файл libsqlmysql.so, появляется в каталоге /usr/local/Trolltech/Qt-4.6.0/plugins/sqldrivers, после выполения sudo make install...
и без всяких запусков, qmake из каталога /home/gudron/qtsdk-2009.05/qt/src/plugins/sqldrivers/mysql/

Плагин вы собрали здесь
Цитата
Делал так же что рекомендуется на http://doc.crossplatform.ru/qt/4.3.2/sql-d...ugin-on-windows

Распологается плагин после сборки, как я уже и писал, в директории QTDIR/plugings/sqldrivers, где QTDIR - это путь то qt. В вашем случае это /home/gudron/qtsdk-2009.05/qt. После выполнения sudo make install, плагин был скопирован в /usr/local/Trolltech/Qt-4.6.0/plugins/sqldrivers
:)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
rrmini
  опции профиля:
сообщение 16.4.2010, 16:40
Сообщение #12


Студент
*

Группа: Участник
Сообщений: 41
Регистрация: 23.11.2009
Пользователь №: 1251

Спасибо сказали: 0 раз(а)




Репутация:   0  


делаю так:
CODE

./qt-sdk-linux-x86-opensource-2010.02.bin
cd /home/roman/qtsdk-2010.02/qt
./configure -plugin-sql-mysql -I /usr/include/mysql -L /usr/lib/mysql


получаю следующее:
CODE
...
Creating qmake. Please wait...
make: Цель `first' не требует выполнения команд.
Basic XLib functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11 in /home/roman/qtsdk-2010.02/qt/mkspecs/linux-g++.


Подскажите пожалуйста, чего у меня не хватает ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.4.2010, 16:46
Сообщение #13


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(rrmini @ 16.4.2010, 20:40) *
./configure -plugin-sql-mysql -I /usr/include/mysql -L /usr/lib/mysql
плагин можно собрать не пересобирая Qt. Попробуй просто установить Qt, а затем собрать плагин
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
rrmini
  опции профиля:
сообщение 16.4.2010, 17:35
Сообщение #14


Студент
*

Группа: Участник
Сообщений: 41
Регистрация: 23.11.2009
Пользователь №: 1251

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 16.4.2010, 17:46) *
Цитата(rrmini @ 16.4.2010, 20:40) *
./configure -plugin-sql-mysql -I /usr/include/mysql -L /usr/lib/mysql
плагин можно собрать не пересобирая Qt. Попробуй просто установить Qt, а затем собрать плагин


Установить Qt это не тоже самое :
./qt-sdk-linux-x86-opensource-2010.02.bin


??
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.4.2010, 19:26
Сообщение #15


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(rrmini @ 16.4.2010, 21:35) *
Установить Qt это не тоже самое :
./qt-sdk-linux-x86-opensource-2010.02.bin


??
видимо да, я не знаю, как сейчас выглядит процесс установки Qt в Лине. Просто после попытки конфигурирования, при том не удачной. Ты уже испортил внутренности Qt, поэтому лучше начать с чистого листа.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
rrmini
  опции профиля:
сообщение 17.4.2010, 17:00
Сообщение #16


Студент
*

Группа: Участник
Сообщений: 41
Регистрация: 23.11.2009
Пользователь №: 1251

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 16.4.2010, 20:26) *
Цитата(rrmini @ 16.4.2010, 21:35) *
Установить Qt это не тоже самое :
./qt-sdk-linux-x86-opensource-2010.02.bin


??
видимо да, я не знаю, как сейчас выглядит процесс установки Qt в Лине. Просто после попытки конфигурирования, при том не удачной. Ты уже испортил внутренности Qt, поэтому лучше начать с чистого листа.



я тоже об этом думал. интересно, достаточно удалить каталог /home/qtsdk-2010.02/ или нужно еще какие-то действия произвести ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 17.4.2010, 20:59
Сообщение #17


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(rrmini @ 17.4.2010, 21:00) *
достаточно удалить каталог /home/qtsdk-2010.02/
думаю, что в твоём случае достаточно
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 19.4.2010, 7:26
Сообщение #18


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

Спасибо сказали: 41 раз(а)




Репутация:   5  


Цитата(rrmini @ 16.4.2010, 18:35) *
./qt-sdk-linux-x86-opensource-2010.02.bin


Всю тему не читал,но рискну предложить вместо этого выполнить sudo apt-get install qt4-название-пакета. В лине редко возникает острая необходимость собирать Qt или ставить ее с тролльтеховского инсталлятора.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 19.4.2010, 7:31
Сообщение #19


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


В ubuntu в репозитории все еще qt-4.5.x лежит.
Если нужна 4.6, то лучше самому собрать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
molchanoviv
  опции профиля:
сообщение 19.4.2010, 7:42
Сообщение #20


Старейший участник
****

Группа: Сомодератор
Сообщений: 597
Регистрация: 18.7.2008
Из: Саратов
Пользователь №: 238

Спасибо сказали: 41 раз(а)




Репутация:   5  


Ну я не в курсе как в убунте ибо пользуюсь сусей, но спрошу, а что в убунте нет сторонних репозиториев?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 19.4.2010, 7:45
Сообщение #21


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(molchanoviv @ 19.4.2010, 8:42) *
Ну я не в курсе как в убунте ибо пользуюсь сусей, но спрошу, а что в убунте нет сторонних репозиториев?

Вот этого я не знаю, сам пользую Fedora. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
rrmini
  опции профиля:
сообщение 19.4.2010, 9:04
Сообщение #22


Студент
*

Группа: Участник
Сообщений: 41
Регистрация: 23.11.2009
Пользователь №: 1251

Спасибо сказали: 0 раз(а)




Репутация:   0  


сделал так :
CODE
cd /home/roman/qtsdk-2010.02/bin/
./uninstall


затем установил из репов версию 4.5
собрал Sql Browser. Доступные драйвера : QSQLITE QMYSQL
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V   1 2 3 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 14.6.2025, 17:31