Сборка драйвера Qt PostgreSql - PullRequest
0 голосов
/ 30 марта 2011

Я пытался собрать драйвер Qt уже 2 недели, но безуспешно. Я даже использовал Windows XP 32-битную, чтобы избежать проблемы совместимости с 64-битной (с которой я столкнулся при попытке связать библиотеки Psql с моей C-программой). Использование обычного компилятора C работает, но когда я хочу иметь графический интерфейс. Я старался qmake -o Makefile "INCLUDEPATH + = D: /Programme/PostgresSQL/9.0/include" "LIBS + = D: /Programme/PostgresPlus/9.0/lib (или /lib/libpq.lib)" psql.pro генерирует отладку и релиз Makefile Теперь, когда я пытаюсь: mingw32-make отладка или релиз или даже просто mingw32-make

D:\Qt\2010.05\qt\src\plugins\sqldrivers\psql>mingw32-make
mingw32-make -f Makefile.Debug all
mingw32-make[1]: Entering directory `D:/Qt/2010.05/qt/src/plugins/sqldrivers/psq
l'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -mthreads -Wl -shared -Wl,--out-implib,d:\Qt\2010.05\qt\plugins\sqldrivers\li
bqsqlpsqld4.a -o ..\..\..\..\plugins\sqldrivers\qsqlpsqld4.dll tmp/obj/debug_sha
red/main.o tmp/obj/debug_shared/qsql_psql.o tmp/obj/debug_shared/moc_qsql_psql.o
-L"d:\Qt\2010.05\qt\lib" -L"d:\Qt\2010.05\qt\lib" tmp\obj\debug_shared\qsqlpsq
ld_resource_res.o -lpq -lQtSqld4 -lQtCored4
d:/qt/2010.05/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe:
cannot find -lpq
collect2: ld returned 1 exit status
mingw32-make[1]: *** [..\..\..\..\plugins\sqldrivers\qsqlpsqld4.dll] Error 1
mingw32-make[1]: Leaving directory `D:/Qt/2010.05/qt/src/plugins/sqldrivers/psql
'
mingw32-make: *** [debug-all] Error 2

Я действительно понятия не имею, что может быть за пропущенный -lpq. Спасибо за помощь. Мехди

1 Ответ

1 голос
/ 18 мая 2011

Вы используете gcc mingw32 для компиляции qt и пытаетесь использовать библиотеку postgreql, скомпилированную с MSVC.

MSVC использует .LIB для библиотек, в то время как Mingw32 (gcc + binutils) использует файлы .a или .so для библиотек.

Вы можете попробовать любой из следующих способов: а. скомпилируйте Qt, используя MSVC. б. используйте mingw32 для компиляции postgresql и использования его библиотек.

...