QT4.6 +PostgreQAL, help |
Здравствуйте, гость ( Вход | Регистрация )
QT4.6 +PostgreQAL, help |
mettamo |
2.6.2010, 11:12
Сообщение
#1
|
Студент Группа: Участник Сообщений: 43 Регистрация: 22.10.2009 Пользователь №: 1173 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте не получается скомпилить драйвер
/usr/include/postgresql - сдесь находятся заголовочники /home/artem/qtsdk-2010.02/qt/src/plugins/sqldrivers/psql - плагин пробовал так qmake-qt4 -o Makefile "INCLUDEPATH+=/usr/include/postgresql" "LIBS+=/usr/include/postgresql/8.4/server/libpq/libpq.h" psql.pro потом так qmake-qt4 -o Makefile "INCLUDEPATH+=/usr/include/postgresql/8.4/server/libpql" "LIBS+=/usr/include/postgresql/8.4/server/libpq/libpq.h" psql.pro много вариантов перепробовал чтоб он видел заголовочники постоянно выдает /usr/include/postgresql/8.4/server/libpq/libpq/hba.h:14:27: error: nodes/pg_list.h: Нет такого файла или каталога /usr/include/postgresql/8.4/server/libpq/libpq/hba.h:15:26: error: libpq/pqcomm.h: Нет такого файла или каталога In file included from /usr/include/postgresql/8.4/server/libpq/libpq.h:21: /usr/include/postgresql/8.4/server/libpq/libpq/libpq-be.h:74:52: error: /usr/include/postgresql/8.4/server/utils: Нет такого файла или каталога In file included from /usr/include/postgresql/8.4/server/libpq/libpq.h:20: /usr/include/postgresql/8.4/server/libpq/lib/stringinfo.h:108: error: ‘va_list’ has not been declared In file included from /usr/include/postgresql/8.4/server/libpq/libpq/libpq-be.h:71, from /usr/include/postgresql/8.4/server/libpq/libpq.h:21: /usr/include/postgresql/8.4/server/libpq/libpq/hba.h:66: error: expected initializer before ‘*’ token /usr/include/postgresql/8.4/server/libpq/libpq/hba.h:71: warning: ‘read_pg_database_line’ initialized and declared ‘extern’ /usr/include/postgresql/8.4/server/libpq/libpq/hba.h:71: error: ‘FILE’ was not declared in this scope /usr/include/postgresql/8.4/server/libpq/libpq/hba.h:71: error: ‘fp’ was not declared in this scope /usr/include/postgresql/8.4/server/libpq/libpq/hba.h:71: error: expected primary-expression before ‘char’ /usr/include/postgresql/8.4/server/libpq/libpq/hba.h:71: error: ‘Oid’ was not declared in this scope /usr/include/postgresql/8.4/server/libpq/libpq/hba.h:71: error: ‘dboid’ was not declared in this scope /usr/include/postgresql/8.4/server/libpq/libpq/hba.h:72: error: ‘Oid’ was not declared in this scope /usr/include/postgresql/8.4/server/libpq/libpq/hba.h:72: error: ‘dbtablespace’ was not declared in this scope /usr/include/postgresql/8.4/server/libpq/libpq/hba.h:72: error: ‘TransactionId’ was not declared in this scope /usr/include/postgresql/8.4/server/libpq/libpq/hba.h:72: error: ‘dbfrozenxid’ was not declared in this scope /usr/include/postgresql/8.4/server/libpq/libpq/hba.h:72: error: initializer expression list treated as compound expression In file included from /usr/include/postgresql/8.4/server/libpq/libpq/libpq-be.h:72, from /usr/include/postgresql/8.4/server/libpq/libpq.h:21: /usr/include/postgresql/8.4/server/libpq/libpq/pqcomm.h:44: error: redefinition of ‘struct sockaddr_storage’ /usr/include/bits/socket.h:188: error: previous definition of ‘struct sockaddr_storage’ /usr/include/postgresql/8.4/server/libpq/libpq/pqcomm.h:65: error: ‘ACCEPT_TYPE_ARG3’ does not name a type /usr/include/postgresql/8.4/server/libpq/libpq/pqcomm.h:100: error: ‘uint32’ does not name a type /usr/include/postgresql/8.4/server/libpq/libpq/pqcomm.h:102: error: ‘ProtocolVersion’ does not name a type /usr/include/postgresql/8.4/server/libpq/libpq/pqcomm.h:111: error: ‘uint32’ does not name a type /usr/include/postgresql/8.4/server/libpq/libpq/pqcomm.h:130: error: ‘ProtocolVersion’ does not name a type /usr/include/postgresql/8.4/server/libpq/libpq/pqcomm.h:163: error: ‘uint32’ does not name a type /usr/include/postgresql/8.4/server/libpq/libpq/pqcomm.h:179: error: ‘MsgType’ does not name a type /usr/include/postgresql/8.4/server/libpq/libpq/pqcomm.h:180: error: ‘uint32’ does not name a type /usr/include/postgresql/8.4/server/libpq/libpq/pqcomm.h:181: error: ‘uint32’ does not name a type In file included from /usr/include/postgresql/8.4/server/libpq/libpq.h:21: /usr/include/postgresql/8.4/server/libpq/libpq/libpq-be.h:110: error: ‘ProtocolVersion’ does not name a type /usr/include/postgresql/8.4/server/libpq/libpq/libpq-be.h:125: error: ISO C++ forbids declaration of ‘List’ with no type /usr/include/postgresql/8.4/server/libpq/libpq/libpq-be.h:125: error: expected ‘;’ before ‘*’ token /usr/include/postgresql/8.4/server/libpq/libpq/libpq-be.h:138: error: ‘TimestampTz’ does not name a type /usr/include/postgresql/8.4/server/libpq/libpq/libpq-be.h:179: error: ‘ProtocolVersion’ does not name a type make: *** [libqsqlpsql.so] Ошибка 1 смотрел сами заголовочники такое ощущение что папки перемешаны, что делать? |
|
|
Litkevich Yuriy |
2.6.2010, 15:10
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
mettamo |
2.6.2010, 19:28
Сообщение
#3
|
Студент Группа: Участник Сообщений: 43 Регистрация: 22.10.2009 Пользователь №: 1173 Спасибо сказали: 0 раз(а) Репутация: 0 |
а какую библиотеку?
вроде собрал появился файл libqsqlpsql.so что дальше как начать работу? |
|
|
mettamo |
2.6.2010, 20:09
Сообщение
#4
|
Студент Группа: Участник Сообщений: 43 Регистрация: 22.10.2009 Пользователь №: 1173 Спасибо сказали: 0 раз(а) Репутация: 0 |
в файле *.pro дописываю
QTPLUGIN += psql в исходнике Q_IMPORT_PLUGIN(psql); пишет при компиляции collect2: ld returned 1 exit status g++ -Wl,-O1 -o DATABASE main.o mainwindow.o moc_mainwindow.o -L/usr/lib -lQtGui -lQtCore -lpthread main.o: In function `global constructors keyed to main': main.cpp:(.text+0x1): undefined reference to `qt_plugin_instance_psql()' collect2: ld returned 1 exit status make: *** [DATABASE] Ошибка 1 |
|
|
Litkevich Yuriy |
2.6.2010, 23:37
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
mettamo, ты что статически Qt собирал?
|
|
|
mettamo |
2.6.2010, 23:55
Сообщение
#6
|
Студент Группа: Участник Сообщений: 43 Регистрация: 22.10.2009 Пользователь №: 1173 Спасибо сказали: 0 раз(а) Репутация: 0 |
нет
|
|
|
Litkevich Yuriy |
3.6.2010, 0:04
Сообщение
#7
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
тогда всё это добро в файле проекта и main.cpp не нужно, оно только для статической сборки.
При работе с модулем SQL в про файл нужно добавить: Qt += sql и всё. |
|
|
mettamo |
3.6.2010, 0:21
Сообщение
#8
|
Студент Группа: Участник Сообщений: 43 Регистрация: 22.10.2009 Пользователь №: 1173 Спасибо сказали: 0 раз(а) Репутация: 0 |
QSqlDatabase db;
db.addDatabase("QPSQL", "new"); db.setHostName("localhost"); db.setPort(5432); db.setDatabaseName("postgres"); db.setUserName("artem"); db.setPassword("qwerty"); bool op=db.open(); if (op)ui->label->setText("true"); я компилю такой код, по идее если подключается то setText("true"); но текст не меняется, как проверить подключилась или нет? |
|
|
mettamo |
3.6.2010, 6:23
Сообщение
#9
|
Студент Группа: Участник Сообщений: 43 Регистрация: 22.10.2009 Пользователь №: 1173 Спасибо сказали: 0 раз(а) Репутация: 0 |
db.lastError().text() пишет, что драйвер не загружен
|
|
|
Litkevich Yuriy |
3.6.2010, 11:35
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
mettamo, бинари самой СУБД должны быть доступны через переменную окружения PATH.
Для тестов драйвера лучше всего воспользоваться демкой %QTDIR%/demos/sqlbrowser |
|
|
Текстовая версия | Сейчас: 22.12.2024, 19:02 |