+ -
当前位置:首页 → 问答吧 → gcc编译问题

gcc编译问题

时间:2009-08-25

来源:互联网

ch@debian:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/include/postgresql/

ch@debian:~/CGI/cgi-bin/bbs/manage$ gcc -o group group.c
group.c:3:22: error: libpq-fe.h: 没有那个文件或目录

作者: 老陈73   发布时间: 2009-08-25

我在源文件中直接写#include </usr/include/postgresql/libpq-fe.h>
则编译时提示:
ch@debian:~/CGI/cgi-bin/bbs/manage$ gcc -o group group.c
group.c: In function ‘main’:
group.c:17: warning: assignment makes integer from pointer without a cast
group.c:18: warning: assignment makes integer from pointer without a cast
/tmp/ccUXpO4Z.o: In function `main':
group.c:(.text+0x20): undefined reference to `PQconnectdb'
group.c:(.text+0x2e): undefined reference to `PQstatus'
group.c:(.text+0x49): undefined reference to `PQsetClientEncoding'
group.c:(.text+0x5b): undefined reference to `PQexec'
group.c:(.text+0x69): undefined reference to `PQresultStatus'
group.c:(.text+0x93): undefined reference to `PQgetvalue'
group.c:(.text+0xb5): undefined reference to `PQgetvalue'
group.c:(.text+0xc7): undefined reference to `PQclear'
group.c:(.text+0xd2): undefined reference to `PQfinish'
collect2: ld returned 1 exit status

作者: 老陈73   发布时间: 2009-08-25

$ gcc -o group group.c -L/usr/include/postgresql -lpq
这样编译成功了,但不明白原因
难道每次都要加-L/usr/include/postgresql -lpq ,这样太麻烦了吧

作者: 老陈73   发布时间: 2009-08-25

安装 libpq-dev

作者: d00m3d   发布时间: 2009-08-26

楼主应该已经有开发包了, 但是应该没有正确设置好 CFLAGS, LDFLAGS

作者: remote fish   发布时间: 2009-08-26

引用:
作者: remote fish
楼主应该已经有开发包了, 但是应该没有正确设置好 CFLAGS, LDFLAGS
怎么设置这些?

作者: 老陈73   发布时间: 2009-08-26

要是你通过 Makefile 来编译, 那么去看 make 的文档. 如果是手工编译的, 那么去看 gcc 的文档.

作者: remote fish   发布时间: 2009-08-27