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

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

Страниц: [1] 2 3   Вниз
  Печать  
Автор Тема: QT 3.3.3 + PostgreSQL7 под *nix ----driver not loaded  (Прочитано 26632 раз)
Martiro
Гость
« : Февраль 20, 2007, 09:12 »

Подскажите, где можно скачать исходники, чтобы его установить и как это делается?...
Записан
zabivator
Гость
« Ответ #1 : Февраль 20, 2007, 17:26 »

Хм. Скачиваются вместе с qt'ом, собираются отдельно (смотри папку plugins там идем в нужный нам драйвер, qmake; make; ).
Записан
Martiro
Гость
« Ответ #2 : Февраль 21, 2007, 09:36 »

В том то и дело, что появляется ошибка:
Код:
Some of the required modules (sql) are not available.
Skipped.


добавлено спустя 35 минут:

 ...Как-то странно... Видимо, у меня обрезаная версия qt`шки. В плугинах в папке sqldrivers psql не было. Но я добавил из архивчика, но там только make и файл проекта. Этого, видимо для компиляции не достаточно... Ругалась она по-разному. Добавил туда же несколько h-ников. теперь в папке лежит
Код:
libpq-fe.h
main.cpp
postgres.h
postgres_ext.h
qsql_psql.h
qsqldriver.h
qsqldriverinterface_p.h
qsqldriverplugin.h

Теперь хоть как-то начинает компилить, но всё равно выдаёт ошибку:
Код:
... In function `_start':
: undefined reference to `main'
... in function `QPSQLDriverPlugin::create(QString const &)':
: undefined reference to `QPSQLDriverPlugin::QPSQLDriverPlugin(QObject *, char const &)'
Записан
Steven_Orko
Гость
« Ответ #3 : Февраль 21, 2007, 21:17 »

Не надо ничего никуда копировать!!!! Надо прежде почитать асистент!!!
http://doc.trolltech.com/3.3/sql-driver.html#QPSQL7

Там ясно написано:
Код:

cd $QTDIR/plugins/src/sqldrivers/psql
qmake -o Makefile "INCLUDEPATH+=/usr/src/psql/src/include /usr/src/psql/src/interfaces/libpq" "LIBS+=-L/usr/lib -lpq" psql.pro
make

 Лично у меня все собралось таким образом. Только я поправил пути соответственно тем, которые у меня на машине имеются.
Записан
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« Ответ #4 : Февраль 22, 2007, 06:55 »

Цитата: "Steven_Orko"
Не надо ничего никуда копировать!!!! Надо прежде почитать асистент!!!
http://doc.trolltech.com/3.3/sql-driver.html#QPSQL7

Там ясно написано:
Код:

cd $QTDIR/plugins/src/sqldrivers/psql
qmake -o Makefile "INCLUDEPATH+=/usr/src/psql/src/include /usr/src/psql/src/interfaces/libpq" "LIBS+=-L/usr/lib -lpq" psql.pro
make

 Лично у меня все собралось таким образом. Только я поправил пути соответственно тем, которые у меня на машине имеются.


Кстати, а возможно ли в Qt 3.x.x собрать драйвер для
PostgreSQL 8.x.x?
Записан
Steven_Orko
Гость
« Ответ #5 : Февраль 22, 2007, 17:40 »

Да, возможно... Я именно его и собирал )))))))))
Записан
Martiro
Гость
« Ответ #6 : Февраль 26, 2007, 09:17 »

Цитата: "Steven_Orko"
Не надо ничего никуда копировать!!!! Надо прежде почитать асистент!!!
http://doc.trolltech.com/3.3/sql-driver.html#QPSQL7

Там ясно написано:
Код:

cd $QTDIR/plugins/src/sqldrivers/psql
qmake -o Makefile "INCLUDEPATH+=/usr/src/psql/src/include /usr/src/psql/src/interfaces/libpq" "LIBS+=-L/usr/lib -lpq" psql.pro
make

 Лично у меня все собралось таким образом. Только я поправил пути соответственно тем, которые у меня на машине имеются.

А какие именно надо пути указывать? К чему? Просто дело в том, что у меня не чистый Линукс, а MCBC 3.0 и не PosgreSQL, а ЛинтерВС. Поскольку ОС перелопачена до неузнаваемости, приходится всё, чего недостаёт искать где-то в другом месте.
Записан
Steven_Orko
Гость
« Ответ #7 : Февраль 26, 2007, 21:49 »

Ну в таком случае, если у тебя мсвс, то у тебя должна быть такая штука, как "библиотеки разработки приложений". Как раз на диске с таким названием и содержатся уже собранные плагины для доступа к PostgreSQL. Ну, а так... тебе надо установить все либы devel, которые у тебя идут с PostgreSQL, т.е. и серверные тоже. В дире /usr/include есть директория с заголовочными файлами. Вот к ним и надо прописать пути в INCLUDEPATH, точнее там два все пути надо, один точно к корневой папке заголовных файлов СУБД, a другой не помню, надо на работе посмотреть. Поэкспериментируй, изменяя второй путь. Т.е. у тебя будет:

Код:
cd $QTDIR/plugins/src/sqldrivers/psql
qmake -o Makefile "INCLUDEPATH+="Путь_к_корневой папке_заголовочных_файлов_СУБД Второй_путь_с_которым_надо_поэкспериментировать" "LIBS+=-L/usr/lib -lpq" psql.pro
make
Записан
Martiro
Гость
« Ответ #8 : Февраль 27, 2007, 16:32 »

Steven_Orko, всё бы здорово, но этот МСВС попал ко мне через третьи_кривые_руки и другого нет. Так что этой самой "библиотеки разработки приложений" нет.
Я скопировал из
Код:
qt-embedded-free-3.3.3.tar\qt-embedded-free-3.3.3\plugins\src\sqldrivers\psql\
мэйн и файл проекта, изменил путь в инклюде в мэйне, нашёл qsql_psql.cpp и .h, пытаюсь собрать, но всё равно не выходит...
Записан
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #9 : Октябрь 12, 2008, 11:50 »

Я, конечно понимаю, что прошло много времени, но, поскольку решения не видно, предлагаю
100% вариант для МСВС
Подправленный под МСВС проект
http://letitbit.net/download/e27c2c569245/psql.rar.html
Заходим в паку проекта выполняем приведенную ниже команду. Здесь указаны реальные пути к библиотекам QT и Линтера,
который PostgreSQL 7.4.1
Код:
qmake –o Makefile  “INCLUDEPATH+=/usr/include/pgsql   /usr/include/pgsql/libpq   /usr/include/pgsql/server” “LIBS+=-L/usr/lib  -lpq” psql.pro
make

Готовый драйвер окажется в папке /usr/sqldrivers
Нужно его скопировать в /usr/lib/qt-3.3.3/plugins/sqldrivers
После этого все прекрасно работает
« Последнее редактирование: Октябрь 12, 2008, 11:52 от Примерный ученик » Записан

Как мало времени и как много нужно узнать
eg015t
Гость
« Ответ #10 : Март 16, 2009, 12:02 »

Примерный ученик, столкнулся с этой же проблемой. Скопмилировал библиотеку, поместил в sqldrivers. Но приложения все равно не запускается (driver qpsql7 no loaded).
Записан
BaltikS
Гость
« Ответ #11 : Март 16, 2009, 12:11 »

Ребята, ну сколько раз можно писать? libpq.so (клиентская библиотека Postgres) имеется на машине или нет? Уже пять лет юзаю постгрес, с ним никогда проблем не было!!!
Записан
BaltikS
Гость
« Ответ #12 : Март 16, 2009, 12:13 »

Кстати, если используете МСВС, то под него есть драйвер уже скомпилированный в отдельной RPM для так называемого Линтера... Называется QLSQL60
Записан
eg015t
Гость
« Ответ #13 : Март 16, 2009, 13:45 »

BaltikS, все верно, МСВС+Линтер 7.4.1. RPM стоят полностью от него. Но QLSQL60 не подгружается.
Записан
BaltikS
Гость
« Ответ #14 : Март 16, 2009, 14:03 »

1) Убедится в наличии клиентской библиотеки Линтера по пути /usr/lib; Или установить клиентскую библиотеку из RPM.
2) Убедится наличие в папке с программой каталога /sqldrivers/qlsql.so (не помню точно как называется)... Или установить RPM

Это необходимое и достаточное условие....
Записан
Страниц: [1] 2 3   Вверх
  Печать  
 
Перейти в:  


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