Название: Сборка драйвера QPSQL Отправлено: Viktor от Май 18, 2016, 17:44 Знаю, тема заезженная... . Но помогите начинающему программисту. Читал я кучу статей по тому, как собрать QPSQL для дальнейшего подключения к Postgresql... . И вроде всё делал как говорят, но выскакивают ошибки при сборке и всё... .
У меня Win 7, 64 битная Postgresql 9.3 qt 5.5 Значит в файле psql.pro , который находится по адресу E:\Qt\Qt5.5.1\5.5\Src\qtbase\src\plugins\sqldrivers\psql написал следующие две строчки: INCLUDEPATH +="C:/PostgreSQL/9.3/include" LIBS +="C:/PostgreSQL/9.3/lib/libpq.lib" В файле qsql_psql , который находится по адресу E:\Qt\Qt5.5.1\5.5\Src\qtbase\src\sql\drivers\psql закомментировал следующее и получилось так HEADERS += $$PWD/qsql_psql_p.h SOURCES += $$PWD/qsql_psql.cpp unix|mingw { LIBS += $$QT_LFLAGS_PSQL # !contains(LIBS, .*pq.*):LIBS += -lpq # QMAKE_CXXFLAGS *= $$QT_CFLAGS_PSQL #} else { !contains(LIBS, .*pq.*):LIBS += -llibpq -lws2_32 -ladvapi32 } Но при сборке появилось 69 ошибок подобного типа (http://i9.pixs.ru/storage/9/9/1/sdwedspng_7437897_21989991.png) (http://pixs.ru/showimage/sdwedspng_7437897_21989991.png) может кто подскажет как устранить ошибки или что я делал не так? Название: Re: Сборка драйвера QPSQL Отправлено: kai666_73 от Май 18, 2016, 17:53 А чем собираете? мингвой или MSVC?
Название: Re: Сборка драйвера QPSQL Отправлено: Viktor от Май 19, 2016, 09:29 Название: Re: Сборка драйвера QPSQL Отправлено: qate от Май 19, 2016, 10:04 Но при сборке появилось 69 ошибок подобного типа может кто подскажет как устранить ошибки или что я делал не так? либу pq не указал при линковке Название: Re: Сборка драйвера QPSQL Отправлено: Viktor от Май 19, 2016, 12:14 Но при сборке появилось 69 ошибок подобного типа может кто подскажет как устранить ошибки или что я делал не так? либу pq не указал при линковке Указывал. 2-мя способами пытался собрать. Во всех одни и те же ошибки... . Название: Re: Сборка драйвера QPSQL Отправлено: Viktor от Май 19, 2016, 12:32 Вот ещё какие ошибки и предупреждения выскакивают:
(http://i9.pixs.ru/storage/2/7/8/dasdpng_6795074_21999278.png) (http://pixs.ru/showimage/dasdpng_6795074_21999278.png) (http://i9.pixs.ru/storage/3/0/2/asfASDpng_5253732_21999302.png) (http://pixs.ru/showimage/asfASDpng_5253732_21999302.png) Название: Re: Сборка драйвера QPSQL Отправлено: Aleksey_A от Май 19, 2016, 13:48 Собирал QPSQL последний раз под Qt 5.4.2 с версией PostgreSQL 9.1. Версии Postgre выше 9.1 отказались собираться (на MinGW, на MSVC не пробовал).
Возможно стоит попробовать взять версию не 9.3, а 9.1. Делал так: Брал postgresql-9.1.хх-windows-binaries.zip (x86-32) отсюда: http://www.enterprisedb.com/products-services-training/pgbindownload Командную строку открывать из Пуск->Qt 5.4.2 (просто чтобы запустить командную строку сразу с нужными переменными окружения) 1. Делаем путь до каталогов include и lib от PostgreSQL без пробелов (разархивируем postgresql-9.1.хх-windows-binaries.zip в С:\pgsql) 2. cd C:\Qt\Qt5.4.2\5.4.2\Src\qtbase\src\plugins\sqldrivers\psql 3. qmake "INCLUDEPATH+=C:\pgsql\include" "LIBS+=C:\pgsql\lib\libpq.lib" psql.pro 4. mingw32-make 5. Скопировать qsqlpsql.dll из C:\Qt\Qt5.4.2\5.4.2\Src\qtbase\plugins\sqldrivers в подпапку /sqldrivers каталога *.exe 6. копируем из C:/pgsql/bin файлы libpq.dll,libxml2.dll,ssleay32.dll,zlib1.dll,libeay32.dll,libiconv-2.dll,libxslt.dll,libintl-8.dll в папку с *.exe Название: Re: Сборка драйвера QPSQL Отправлено: Viktor от Май 19, 2016, 14:55 Собирал QPSQL последний раз под Qt 5.4.2 с версией PostgreSQL 9.1. Версии Postgre выше 9.1 отказались собираться (на MinGW, на MSVC не пробовал). Возможно стоит попробовать взять версию не 9.3, а 9.1. Делал так: Брал postgresql-9.1.хх-windows-binaries.zip (x86-32) отсюда: http://www.enterprisedb.com/products-services-training/pgbindownload Командную строку открывать из Пуск->Qt 5.4.2 (просто чтобы запустить командную строку сразу с нужными переменными окружения) 1. Делаем путь до каталогов include и lib от PostgreSQL без пробелов (разархивируем postgresql-9.1.хх-windows-binaries.zip в С:\pgsql) 2. cd C:\Qt\Qt5.4.2\5.4.2\Src\qtbase\src\plugins\sqldrivers\psql 3. qmake "INCLUDEPATH+=C:\pgsql\include" "LIBS+=C:\pgsql\lib\libpq.lib" psql.pro 4. mingw32-make 5. Скопировать qsqlpsql.dll из C:\Qt\Qt5.4.2\5.4.2\Src\qtbase\plugins\sqldrivers в подпапку /sqldrivers каталога *.exe 6. копируем из C:/pgsql/bin файлы libpq.dll,libxml2.dll,ssleay32.dll,zlib1.dll,libeay32.dll,libiconv-2.dll,libxslt.dll,libintl-8.dll в папку с *.exe Попробовал сделать как ты сказал. Скачал версию Postgresql 9.1 но всё таже самая конетель. При компиляции драйверов выдаёт всё те же ошибки... . Название: Re: Сборка драйвера QPSQL Отправлено: Aleksey_A от Май 19, 2016, 15:25 А у Вас точно совпадает разрядность? PostgreSQL в вашем случае (для MinGW 32bit) должна быть именно x86-32.
Вот в этой теме очень похожие ошибки: http://www.prog.org.ru/topic_17100_0.html (http://www.prog.org.ru/topic_17100_0.html) И как вариант еще почистить каталог сборки от старого хлама: 1. cd C:\Qt\Qt5.x.x\5.x\Src\qtbase\src\plugins\sqldrivers\psql 2. mingw32-make clean или руками поудалять .moc, .obj, Makefile и т.д. в C:\Qt\Qt5.x.x\5.x\Src\qtbase\src\plugins\sqldrivers\psql З.Ы. Проверил на Qt 5.6.0-MinGW-32bit, драйвер для PostgreSQL 9.1 создается, для 9.3 - нет. Делал так же,как и писал в пред. сообщении (ну вместо путей Qt5.4.2 -> Qt5.6.0) Название: Re: Сборка драйвера QPSQL Отправлено: Viktor от Май 19, 2016, 16:59 А у Вас точно совпадает разрядность? PostgreSQL в вашем случае (для MinGW 32bit) должна быть именно x86-32. Вот в этой теме очень похожие ошибки: http://www.prog.org.ru/topic_17100_0.html (http://www.prog.org.ru/topic_17100_0.html) И как вариант еще почистить каталог сборки от старого хлама: 1. cd C:\Qt\Qt5.x.x\5.x\Src\qtbase\src\plugins\sqldrivers\psql 2. mingw32-make clean или руками поудалять .moc, .obj, Makefile и т.д. в C:\Qt\Qt5.x.x\5.x\Src\qtbase\src\plugins\sqldrivers\psql З.Ы. Проверил на Qt 5.6.0-MinGW-32bit, драйвер для PostgreSQL 9.1 создается, для 9.3 - нет. Делал так же,как и писал в пред. сообщении (ну вместо путей Qt5.4.2 -> Qt5.6.0) Получилось! Вы меня спасли))) да, у меня была x86-64. Я поставил 32 и всё получилось) Название: Re: Сборка драйвера QPSQL Отправлено: qate от Май 19, 2016, 21:31 а зачем самому собирать драйвер, ведь он собирается при сборке qt ?
я думал необходимо в нём чтото поменять ) |