Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Разработка баз данных _ QtCreator + QPSQL проблема с подключением драйвера

Автор: borkk 9.8.2010, 11:52

Скачал QtSDK с оф.сайта, установил, скачал PostgreSQL, поставил, попробовал установить драйвер QPSQL, по инструкции в QtAssistant, сделал

cd C:\Qt\2010.04\qt\src\plugins\sqldrivers\psql
qmake "INCLUDEPATH+=C:\Program Files\PostgreSQL\8.4\include" "LIBS+=C:\Program Files\PostgreSQL\8.4\lib\libpq.lib" psql.pro

все установилось, никаких ошибок.
при сборке

mingw32-make

выдает ошибку "mingw32-make[1]: Entering directory `C:/Qt/2010.04/qt/src/plugins/sqldrivers/psql'
Makefile.Debug:61: *** missing separator. Stop.
mingw32-make[1]: Leaving directory `C:/Qt/2010.04/qt/src/plugins/sqldrivers/psql'
mingw32-make: *** [debug-all] Error 2"

в PATH прописаны пути к mingw/bin, qt/bin, postgre/bin, postgre/lib

Автор: Litkevich Yuriy 9.8.2010, 14:08

Цитата(borkk @ 9.8.2010, 15:52) *
Makefile.Debug:61: *** missing separator. Stop.
смотри эту строку в Makefile.Debug, что там за разделителя не хватает

Автор: borkk 10.8.2010, 6:29

{tmp\moc\debug_shared}.cpp{tmp\obj\debug_shared\}.obj::              #58
    $(CXX) -c $(CXXFLAGS) $(INCPATH) -Fotmp\obj\debug_shared\ @<<    #59
    $<                                                               #60
<<                                                                   #61


вот строчки с 58 по 61

Автор: Litkevich Yuriy 10.8.2010, 14:21

какой-то кривой мэйкфайл.

к стати, у тебя пробелы в пути, нужно весь путь взять в кавычки, а сами кавычки нужно экранировать:

qmake "INCLUDEPATH+=\"C:\Program Files\PostgreSQL\8.4\include\"" "LIBS+=\"C:\Program Files\PostgreSQL\8.4\lib\libpq.lib\"" psql.pro

Автор: borkk 13.8.2010, 8:41

Отлично, все установил, а как теперь использовать?
если делаешь

mode = new QComboBox(this);
QStringList drivers = QSqlDatabase::drivers();
mode->addItems(drivers);

то не видит QPSQL, видит только те, что в комплекте были (QSQLITE,QODBC3,QODBC)

Автор: molchanoviv 13.8.2010, 10:56

а sqlbrowser видит твои драйвера?

Автор: borkk 14.8.2010, 13:23

Нет, sqlbrouser только стандартные видит

Автор: molchanoviv 16.8.2010, 13:14

Бинари и либы СУБД доступны через PATH?

Автор: borkk 17.8.2010, 13:15

Уже доступны (= спасибо, нашел решение раньше, именно в этом проблема была (=
Вообще, загрузил версию для MSVC2008, поставил Visual C++ 2008 Express Edition, там уже по-умолчанию стояли драйвера для QPSQL, но какие-то корявые, релиз работал, а дебаг нет. После сборки этих драйверов (кстати, после этого надо еще /src/sql собрать, чтобы он видел драйвера) оказалось, что они примерно в 2 раза меньше идущих стандартно, сделал вывод, что что-то не прилинковывается, прописал пути для PostgreSQL к /bin и к /lib, собрал, все заработало (=

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)