crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Помогите, не могу собрать плагин для pgsql
kharkov_max
  опции профиля:
сообщение 16.8.2011, 15:02
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 46
Регистрация: 5.5.2010
Пользователь №: 1693

Спасибо сказали: 0 раз(а)




Репутация:   0  


Добрый день.

Я начинающий.
Решил попробовать подключение QT4 к базе данных postgresql.
Под Freebsd все завелось с пол пинка, т.к. плагины для баз данных собираются штатно из порта.
А вот под windows у меня проблемы.

Делал по доке:
http://www.qtcentre.org/wiki/index.php?tit...ows_using_MinGW

Застрял в самом конце ...
Вот что пишет в консоли Desctop (MinGW)

D:\QT4\SDK\qt-everywhere-opensource-src-4.7.3\src\plugins\sqldrivers\psql>d:\mak
e\make\make
d:/make/make/make -f Makefile.Debug
make[1]: Entering directory `D:/QT4/SDK/qt-everywhere-opensource-src-4.7.3/src/p
lugins/sqldrivers/psql'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -mthreads -Wl -shared -Wl,--out-implib,debug\libqsqlpsqld4.a -o debug\qsqlpsq
ld4.dll debug/main.o debug/qsql_psql.o debug/moc_qsql_psql.o  -L"d:\QT4\SDK\Desk
top\Qt\4.7.3\mingw\lib" debug\qsqlpsqld_resource_res.o C:\psql\lib\libpq.lib psq
l.pro -lQtSqld4 -lQtCored4
d:/qt4/sdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe:psq
l.pro: file format not recognized; treating as linker script
d:/qt4/sdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe:psq
l.pro:1: syntax error
collect2: ld returned 1 exit status
make[1]: Leaving directory `D:/QT4/SDK/qt-everywhere-opensource-src-4.7.3/src/pl
ugins/sqldrivers/psql'


Все файлы на месте, все происходило как по доке (ошибка)
g++: debug\qsqlpsqld_resource_res.o: No such file or directory

и т.д

Как побороть проблему?
Спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kharkov_max
  опции профиля:
сообщение 16.8.2011, 16:28
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 46
Регистрация: 5.5.2010
Пользователь №: 1693

Спасибо сказали: 0 раз(а)




Репутация:   0  


Так, все получилось.

Ошибка была в следующем.
По инструкции нужно было перемещать и переименовывать файл move debugqsqlpsqld_resource_res.o debug\qsqlpsqld_resource_res.o,
а я копировал и переименовывал - что было не правильно.

Может кому пригодится.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kharkov_max
  опции профиля:
сообщение 17.8.2011, 10:47
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 46
Регистрация: 5.5.2010
Пользователь №: 1693

Спасибо сказали: 0 раз(а)




Репутация:   0  


По выше описанной инструкции, решил собрать плагин для x64 сисемы.
Но в результате при компиляции драйвера получаю:

D:\Qt4\QTSDK\src\plugins\sqldrivers\psql>d:\make\make
d:/make/make -f Makefile.Debug
make[1]: Entering directory `D:/Qt4/QTSDK/src/plugins/sqldrivers/psql'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -mthreads -Wl -shared -Wl,--out-implib,debug\libqsqlpsqld4.a -o debug\qsqlpsq
ld4.dll debug/main.o debug/qsql_psql.o debug/moc_qsql_psql.o  -L"d:\Qt4\QTSDK\De
sktop\Qt\4.7.3\mingw\lib" debug\qsqlpsqld_resource_res.o c:\psql\lib\libpq.lib -
lQtSqld4 -lQtCored4
Creating library file: debug\libqsqlpsqld4.a
debug/qsql_psql.o: In function `qMakeError':
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:175: undefined reference to `PQerrorMessage'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:185: undefined reference to `PQresultStatus'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:189: undefined reference to `PQntuples'
debug/qsql_psql.o: In function `qDeallocatePreparedStmt':
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:253: undefined reference to `PQexec'
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:255: undefined reference to `PQresultStatus'
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:256: undefined reference to `PQerrorMessage'
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:257: undefined reference to `PQclear'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:287: undefined reference to `PQclear'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:315: undefined reference to `PQntuples'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:320: undefined reference to `PQnfields'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:324: undefined reference to `PQftype'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:326: undefined reference to `PQgetvalue'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:327: undefined reference to `PQgetisnull'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:406: undefined reference to `PQunescapeBytea'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:420: undefined reference to `PQgetvalue'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:421: undefined reference to `PQgetisnull'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:433: undefined reference to `PQexec'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:444: undefined reference to `PQcmdTuples'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:450: undefined reference to `PQoidValue'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:463: undefined reference to `PQnfields'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:467: undefined reference to `PQfname'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:469: undefined reference to `PQfname'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:470: undefined reference to `PQftype'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:471: undefined reference to `PQfsize'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:472: undefined reference to `PQfmod'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:480: undefined reference to `PQftype'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:566: undefined reference to `PQexec'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:568: undefined reference to `PQresultStatus'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:571: undefined reference to `PQclear'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:576: undefined reference to `PQclear'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:597: undefined reference to `PQexec'
debug/qsql_psql.o: In function `setEncodingUtf8':
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:606: undefined reference to `PQexec'
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:607: undefined reference to `PQresultStatus'
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:608: undefined reference to `PQclear'
debug/qsql_psql.o: In function `setDatestyle':
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:614: undefined reference to `PQexec'
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:615: undefined reference to `PQresultStatus'
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:617: undefined reference to `PQerrorMessage'
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:618: undefined reference to `PQclear'
debug/qsql_psql.o: In function `getPSQLVersion':
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:668: undefined reference to `PQexec'
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:669: undefined reference to `PQresultStatus'
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:671: undefined reference to `PQgetvalue'
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:691: undefined reference to `PQexec'
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:692: undefined reference to `PQresultStatus'
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:701: undefined reference to `PQclear'
debug/qsql_psql.o: In function `~QPSQLDriver':
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:740: undefined reference to `PQfinish'
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:740: undefined reference to `PQfinish'
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:740: undefined reference to `PQfinish'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:817: undefined reference to `PQconnectdb'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:818: undefined reference to `PQstatus'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:821: undefined reference to `PQfinish'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:847: undefined reference to `PQfinish'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:865: undefined reference to `PQexec'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:866: undefined reference to `PQresultStatus'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:867: undefined reference to `PQclear'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:872: undefined reference to `PQclear'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:882: undefined reference to `PQexec'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:896: undefined reference to `PQcmdStatus'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:899: undefined reference to `PQresultStatus'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:900: undefined reference to `PQclear'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:905: undefined reference to `PQclear'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:915: undefined reference to `PQexec'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:916: undefined reference to `PQresultStatus'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:919: undefined reference to `PQclear'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:922: undefined reference to `PQclear'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:1223: undefined reference to `PQescapeByteaConn'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:1269: undefined reference to `PQstatus'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:1290: undefined reference to `PQsocket'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:1293: undefined reference to `PQexec'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:1293: undefined reference to `PQresultStatus'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:1325: undefined reference to `PQexec'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:1325: undefined reference to `PQresultStatus'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:1351: undefined reference to `PQconsumeInput'
debug/qsql_psql.o:D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/
psql/qsql_psql.cpp:1354: undefined reference to `PQnotifies'
debug/qsql_psql.o: In function `Z10qPQfreememPv':
D:\Qt4\QTSDK\src\plugins\sqldrivers\psql/../../../sql/drivers/psql/qsql_psql.cpp
:117: undefined reference to `PQfreemem'
collect2: ld returned 1 exit status
make[1]: Leaving directory `D:/Qt4/QTSDK/src/plugins/sqldrivers/psql'


Погуглив наткнулся на пару постов, с описанием причины и решения этой проблемы.
http://www.prog.org.ru/topic_17100_0.html
http://habrahabr.ru/blogs/personal/79233/

На сколько я понял проблема в несовместимости Postgre x64 и QT4 x86.
Я ставил на Win2003 x64 последнюю QTSDK 1.1.2, надеялся что будет установлена x64 версия.
PostgreSQL 9.04 x64.
Автор статьи пересобирает QT под платформу x64, и вроде как пишет что для версий PostgreSQL выше 8.2 вопрос решен.

Объясните пожалуйста, так ли это на данный момент ?
Не уж то что б получить драйвер на x64 нужно с таким бубном плясать...

Или может я что то не так делаю?
Спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 14:48