LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 859|回复: 6

gcc编译问题

[复制链接]
发表于 2009-8-24 22:18:26 | 显示全部楼层 |阅读模式
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: 没有那个文件或目录
 楼主| 发表于 2009-8-24 22:33:44 | 显示全部楼层
我在源文件中直接写#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
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-24 22:46:02 | 显示全部楼层
$ gcc -o group group.c -L/usr/include/postgresql -lpq
这样编译成功了,但不明白原因
难道每次都要加-L/usr/include/postgresql -lpq  ,这样太麻烦了吧
回复 支持 反对

使用道具 举报

发表于 2009-8-25 20:27:09 | 显示全部楼层
安装 libpq-dev
回复 支持 反对

使用道具 举报

发表于 2009-8-26 09:55:53 | 显示全部楼层
楼主应该已经有开发包了, 但是应该没有正确设置好 CFLAGS, LDFLAGS
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-8-26 13:45:24 | 显示全部楼层
Post by remote fish;2020404
楼主应该已经有开发包了, 但是应该没有正确设置好 CFLAGS, LDFLAGS


怎么设置这些?
回复 支持 反对

使用道具 举报

发表于 2009-8-27 12:53:24 | 显示全部楼层
要是你通过 Makefile 来编译, 那么去看 make 的文档. 如果是手工编译的, 那么去看 gcc 的文档.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表