2011-03-30 141 views
0

我一直在嘗試構建2個星期的Qt驅動程序,但沒有成功。 我甚至在windows xp 32位上移動以避免兼容性問題與64位(我試圖將Psql庫鏈接到我的C程序時遇到的問題)。 使用普通的C編譯器確實有功能,但是當我想要一個GUI時。我試過 qmake -o Makefile「INCLUDEPATH + = D:/Programme/PostgresSQL/9.0/include」「LIBS + = D:/Programme/PostgresPlus/9.0/lib(或/lib/libpq.lib)」psql.pro it生成的Makefile調試和發佈 現在,當我嘗試:的mingw32,使調試或釋放,甚至只是MINGW32,使構建Qt PostgreSql驅動程序

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可能。 感謝您的幫助。 Mehdi

回答

1

您正在使用mingw32的gcc編譯qt並嘗試使用使用MSVC編譯的postgreql庫。

MSVC對庫使用.LIB,而Mingw32(gcc + binutils)對庫使用.a或.so文件。

您可以嘗試以下任一方法: a。使用MSVC編譯Qt。 b。使用mingw32編譯postgresql並使用它的庫。