Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.135.198.49] |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Добрый день! Начал изучать Qt версия 4.3.1, нашел описание в сети как собрать Qt с поддержкой PostgreSql
да вот только ниче не получается c:\qt\4.3.1\configure -qt-sql-psql или c:\qt\4.3.1\configure -plugin-sql-psql заголовочные файлы а переменной path прописаны помогите может у конить получалось, сам сообразить не могу от чего оно не хочет собираться. |
Сообщ.
#2
,
|
|
|
папку с заголовочными файлами нужно задавать в ключе "-I" программы configure.
|
Сообщ.
#3
,
|
|
|
Сообщ.
#4
,
|
|
|
спасибо!!! я даже не подумал что под таким топиком моя тема находится.
|
Сообщ.
#5
,
|
|
|
Да уж... бывает у людей талантище "говорящие за себя" названия давать .
|
Сообщ.
#6
,
|
|
|
Цитата archimed7592 @ "говорящие за себя" названия давать принято |
Сообщ.
#7
,
|
|
|
У меня получилось собрать без проблем,
configure -I "c:/pgsql/include" -L "c:/pgsql/lib" -l "pq" -plugin-sql-psql только как plugin, вопрос а как теперь компилировать сам проэкт ? Пишет ощибки c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:30:23: qsqlerror.h: No such file or directory c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:31:23: qsqlfield.h: No such file or directory c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:32:23: qsqlindex.h: No such file or directory c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:33:24: qsqlrecord.h: No such file or directory c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:34:23: qsqlquery.h: No such file or directory c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:37:22: libpq-fe.h: No such file or directory In file included from main.cpp:3: c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp: In member function `void QPSQLDriverPrivate::appendT ables(QStringList&, QSqlQuery&, QChar)': c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:96: error: invalid use of undefined type `struct QSql Query' C:/Qt/4.1.2/include/QtSql/../../src/sql/kernel/qsqldatabase.h:39: error: forward declaration of `str uct QSqlQuery' c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:97: error: invalid use of undefined type `struct QSql Query' C:/Qt/4.1.2/include/QtSql/../../src/sql/kernel/qsqldatabase.h:39: error: forward declaration of `str uct QSqlQuery' c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:98: error: invalid use of undefined type `struct QSql Query' C:/Qt/4.1.2/include/QtSql/../../src/sql/kernel/qsqldatabase.h:39: error: forward declaration of `str uct QSqlQuery' c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:100: error: invalid use of undefined type `struct QSq lQuery' C:/Qt/4.1.2/include/QtSql/../../src/sql/kernel/qsqldatabase.h:39: error: forward declaration of `str uct QSqlQuery' c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:102: error: invalid use of undefined type `struct QSq lQuery' C:/Qt/4.1.2/include/QtSql/../../src/sql/kernel/qsqldatabase.h:39: error: forward declaration of `str uct QSqlQuery' c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp: At global scope: c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:119: error: `struct QSqlError::ErrorType' has not bee n declared c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:121: error: ISO C++ forbids declaration of `type' wit h no type c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp: In function `QSqlError qMakeError(const QString&, in t, const QPSQLDriverPrivate*)': c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:121: error: return type `struct QSqlError' is incompl ete c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:122: error: `PQerrorMessage' undeclared (first use th is function) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:122: error: (Each undeclared identifier is reported o nly once for each function it appears in.) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:124: error: invalid use of undefined type `struct QSq lError' C:/Qt/4.1.2/include/QtSql/../../src/sql/kernel/qsqldatabase.h:35: error: forward declaration of `str uct QSqlError' c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp: In member function `bool QPSQLResultPrivate::process Results()': c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:132: error: `PQresultStatus' undeclared (first use th is function) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:133: error: `PGRES_TUPLES_OK' undeclared (first use t his function) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:136: error: `PQntuples' undeclared (first use this fu nction) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:138: error: `PGRES_COMMAND_OK' undeclared (first use this function) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:145: error: incomplete type `QSqlError' used in neste d name specifier c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp: In member function `void QPSQLResult::cleanup()': c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:216: error: `PQclear' undeclared (first use this func tion) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp: In member function `virtual bool QPSQLResult::fetchL ast()': c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:244: error: `PQntuples' undeclared (first use this fu nction) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp: In member function `virtual QVariant QPSQLResult::da ta(int)': c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:249: error: `PQnfields' undeclared (first use this fu nction) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:253: error: `PQftype' undeclared (first use this func tion) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:255: error: `PQgetvalue' undeclared (first use this f unction) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:256: error: `PQgetisnull' undeclared (first use this function) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:306: error: `PQunescapeBytea' undeclared (first use t his function) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp: In member function `virtual bool QPSQLResult::isNull (int)': c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:320: error: `PQgetvalue' undeclared (first use this f unction) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:321: error: `PQgetisnull' undeclared (first use this function) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp: In member function `virtual bool QPSQLResult::reset( const QString&)': c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:333: error: `PQexec' undeclared (first use this funct ion) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp: In member function `virtual int QPSQLResult::numRows Affected()': c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:344: error: `PQcmdTuples' undeclared (first use this function) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp: In member function `virtual QVariant QPSQLResult::la stInsertId() const': c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:350: error: `Oid' undeclared (first use this function ) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:350: error: expected `;' before "id" c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:351: error: `id' undeclared (first use this function) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:351: error: `InvalidOid' undeclared (first use this f unction) c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp: In member function `virtual QSqlRecord QPSQLResult:: record() const': c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:358: error: return type `struct QSqlRecord' is incomp lete c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:359: error: aggregate `QSqlRecord info' has incomplet e type and cannot be defined c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:361: confused by earlier errors, bailing out mingw32-make[1]: *** [debug\main.o] Error 1 mingw32-make[1]: Leaving directory `C:/test/pgsql' mingw32-make: *** [debug] Error 2 может кто подскажет что не так и почему компилятор не находит файлы: c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:30:23: qsqlerror.h: No such file or directory c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:31:23: qsqlfield.h: No such file or directory c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:32:23: qsqlindex.h: No such file or directory c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:33:24: qsqlrecord.h: No such file or directory c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:34:23: qsqlquery.h: No such file or directory c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.cpp:37:22: libpq-fe.h: No such file or directory В путях прописаны. А вот таких фалов в QT несколько и причем разного размера, какие из низ те самые ??? qsqlerror.h: qsqlfield.h: qsqlindex.h: qsqlrecord.h: qsqlquery.h: |
Сообщ.
#9
,
|
|
|
Написал не получилось, смотрю доку ниче не могу понять. Можете добрые люди подсказать ???
|
Сообщ.
#10
,
|
|
|
Цитата gorec @ вопрос а как теперь компилировать сам проэкт ? Извини, а почему во время компилирования твоего проекта пишутся ошибки на Qt'шные модули? Ты ничё не путаешь? Цитата gorec @ Написал не получилось, А после исправления .pro qmake заново вызывался? |
Сообщ.
#11
,
|
|
|
да вызывал. насчет модулей незнаю. еще вылезала ошибка типа функция объявлена как статическая и нужно выполнить dllimport что в этом духе.
qsqlerror.h: qsqlfield.h: qsqlindex.h: qsqlrecord.h: qsqlquery.h: Я эти фалы поискал по директории QT и нашел в разных папках: c:\qt\4.1.2\Qt\include c:\qt\4.1.2\QtSql\include c:\4.1.2\src\sql\kernel и разного размера. Добавлено Вот что еще выдает tmp\moc\debug_shared\moc_qsql_psql.cpp tmp\moc\debug_shared\moc_qsql_psql.cpp:36: error: definition of static data member 'QPSQLDriver::staticMetaObject' of dllimport'd class. |
Сообщ.
#12
,
|
|
|
Цитата gorec @ а вызывал. насчет модулей незнаю. Ну ты qmake из какой папки вызываешь? Цитата gorec @ еще вылезала ошибка типа функция объявлена как статическая и нужно выполнить dllimport что в этом духе. У тебя gcc/g++ v-3.4.2? Или unstable/technology preview? (узнать можно написав в консоли "gcc -v") Цитата gorec @ Я эти фалы поискал по директории QT и нашел в разных папках: Ещё раз: эти файлы будут удачно находиться компилятором в случае добавления в .pro строки QT += sql. |
Сообщ.
#13
,
|
|
|
C:\test\pgsql>gcc -v
Reading specs from c:/mingw/bin/../lib/gcc/mingw32/3.4.2/specs Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=min gw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=c,c++,f77,ada,objc,java --dis able-win32-registry --disable-shared --enable-sjlj-exceptions --enable-libgcj --disable-java-awt --w ithout-x --enable-java-gc=boehm --disable-libgcj-debug --enable-interpreter --enable-hash-synchroniz ation --enable-libstdcxx-debug Thread model: win32 gcc version 3.4.2 (mingw-special) c:\test\pgsql qmake -project qmake make Добавлено #include <QtSql/QtSql> #include <QMessageBox> #include "c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.h" int main(int argc, char *argv[]) { QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL"); db.setHostName("localhost"); db.setDatabaseName("template1"); db.setUserName("pgsql"); db.setPassword(""); if (db.open()) { QMessageBox::information(0,"Connect","connect OK",QMessageBox::Cancel,0); } else { } return 0; } вот сам код. |
Сообщ.
#14
,
|
|
|
после того как в .pro поставил QT +=sql
qsqlerror.h: qsqlfield.h: qsqlindex.h: qsqlrecord.h: qsqlquery.h: не запрашивает. осталось dllimport |
Сообщ.
#15
,
|
|
|
Цитата gorec @ #include "c:/qt/4.1.2/src/sql/drivers/psql/qsql_psql.h" Попробуй закоментировать. По моему src предназначен только для сборки самой QT. |