Компоненты ПО:
-операционная система МСВС (на основе Red Hat);
-СУБД "Линтер";
-библиотека Qt 4.5.3 и Qt-Creator 1.2.1
Действовал по книге Юрия Земскова "Qt 4 на примерах" (как я понимаю, она говорит примерно то же, что и "официальные" документы).
При установке динамической библиотеки вводил:
# ./configure -prefix/usr/lib/qt-4.5.3_dynamic -plugin-sql-psql -I /usr/include/pgsql -L /usr/lib/pgsql
При установке статической библиотеки вводил:
# ./configure -static -prefix /usr/lib/qt-4.5.3_static -release - nomake demos -nomake examples nomake tools (...) -qt-sql-psql -I -L
Установка прошла без ошибок.
После пытаюсь выполнить сборку QPSQL-плагина. Захожу в /pro/qt-all-opensource-src-4.5.3/src/plugins/sqldrivers/psql,выполняю:
qmake -o Makefile "INCLUDEPATH+=/usr/include/pgsql" "LIBS+=-L/usr/lib -lpq" psql.pro
Консоль выдаёт:
(...)/ .qmake.cache.2: Unknown replace function: quote
(...)/ .qmake.cache.3: Unknown replace function: quote
Failure to read QMAKESPEC conf file /mkspecss/linux-g++/qmake.conf
Error processing project file (...)/psql.pro
Листинг:
файл .pro:
SOURCES += main.cpp
QT += sql
файл main.cpp
#include <QtSql>
int main(int argc, char** argv) {
QCoreApplication app(argc, argv);
QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
db.setDatabaseName("...");
db.setUserName("...");
db.setHostName("localhost");
db.setPassword("...")
if (!db.open()) {
qDebug() << db.lastError();
}
else {db.close(); qDebug << "OK";}
return app.exec();
}
Результат:
QSqlDatabase: QPSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE
QSqlError(-1,"Driver not loaded","Driver not loaded"), из программы возвратились с кодом 0.