C Debian中的libpq库存在问题

C Debian中的libpq库存在问题,c,postgresql,gcc,debian,libpq,C,Postgresql,Gcc,Debian,Libpq,我正在Debian中安装postgresql 8.4,将程序testlibpq.c from放入包含文件libpq fe.h的目录中,但在编译之后,请写我 testlibpq.c:(.text+0x4a): undefined reference to `PQconnectdb' testlibpq.c:(.text+0x5a): undefined reference to `PQstatus' testlibpq.c:(.text+0x6f): undefined reference to

我正在Debian中安装postgresql 8.4,将程序testlibpq.c from放入包含文件libpq fe.h的目录中,但在编译之后,请写我

testlibpq.c:(.text+0x4a): undefined reference to `PQconnectdb'
testlibpq.c:(.text+0x5a): undefined reference to `PQstatus'
testlibpq.c:(.text+0x6f): undefined reference to `PQerrorMessage'
testlibpq.c:(.text+0xa9): undefined reference to `PQexec'
testlibpq.c:(.text+0xb9): undefined reference to `PQresultStatus'
testlibpq.c:(.text+0xcf): undefined reference to `PQerrorMessage'
testlibpq.c:(.text+0xf5): undefined reference to `PQclear'
testlibpq.c:(.text+0x10d): undefined reference to `PQclear'
testlibpq.c:(.text+0x121): undefined reference to `PQexec' 

。。。e、 t.c.我该怎么做才能纠正工作?

看起来你没有链接PostgreSQL库。您应该使用以下内容编译
testlibpq.c

gcc -o testlibpq testlibpq.c -lpq
-lpq
告诉链接器链接PostgreSQL库,这就是
PQconnectdb
和朋友的来源

您可能还需要告诉编译器在哪里可以找到库和头,如果是这样的话,那么类似这样的事情应该会解决:

gcc -o testlibpq -I$(pg_config --includedir) -L$(pg_config --libdir) -o testlibpq $(pg_config --libs)