PostgreSQL 8.0.0 �����ĵ���PostgreSQL �й� ������ | ||||
---|---|---|---|---|
Prev | Fast Backward | Chapter 27. libpq - C �� | Fast Forward | Next |
Ҫ������Ҳ����˵��������ӣ���� libpq ��������Ҫ�������һЩ���飺
���� libpq-fe.h ͷ�ļ���
#include <libpq-fe.h>
�����û������£���ô��ͨ���ῴ�������������������Ա���������Ϣ��
foo.c: In function `main': foo.c:34: `PGconn' undeclared (first use in this function) foo.c:35: `PGresult' undeclared (first use in this function) foo.c:54: `CONNECTION_BAD' undeclared (first use in this function) foo.c:68: `PGRES_COMMAND_OK' undeclared (first use in this function) foo.c:95: `PGRES_TUPLES_OK' undeclared (first use in this function)
������ı�����PostgreSQLͷ�ļ��İ�װλ�ã� �����Ǹ���ı������ṩ -Idirectory ѡ� (��Щʱ������������ȱʡ��Ŀ¼���������Ժ�����Щѡ�) ���磬��������п��������
cc -c -I/usr/local/pgsql/include testprog.c
�������ʹ�������ļ�(makefile)����ô�� CPPFLAGS ���������������ѡ���
CPPFLAGS += -I/usr/local/pgsql/include
�����ij�����ܻᱻ���˱��룬��ô��Ӧ�ñ���������������Ŀ¼·�� д��Ӳ���롣ȡ����֮������������� pg_config �����ҳ�ͷ�ļ���ϵͳ��ʲô�ط���
$ pg_config --includedir /usr/local/include
���û�ܸ��������ṩ��ȷ��ѡ������������������Ĵ�����Ϣ
testlibpq.c:8:22: libpq-fe.h: No such file or directory
���������ij����ʱ������ѡ�� -lpq�� �����Ϳ��� libpq �����ӽ����� ��Ҫ���� -Ldirectory �Ը��߱����� libpq ������Ŀ¼�� (ͬ����������Ҳ������һЩȱʡ��Ŀ¼��) Ϊ�˾�������߿���ֲ�ԣ���Ӧ�ð� -L ѡ����� -lpq ѡ��ǰ�档�����
cc -o testprog testprog1.o testprog2.o -L/usr/local/pgsql/lib -lpq
��Ҳ������ pg_config �ҳ���Ŀ¼��
$ pg_config --libdir /usr/local/pgsql/lib
ָ����������Ĵ�����Ϣ������������������ӡ�
testlibpq.o: In function `main': testlibpq.o(.text+0x60): undefined reference to `PQsetdbLogin' testlibpq.o(.text+0x71): undefined reference to `PQstatus' testlibpq.o(.text+0xa4): undefined reference to `PQerrorMessage'
����ζ�������� -lpq �ˡ�
/usr/bin/ld: cannot find -lpq
����ζ����������-L ����û��������ȷ��Ŀ¼��
�����Ĵ���������ͷ�ļ� libpq-int.h�� �����㲻ԭ������Ĵ����Ա���ʹ��������ô�� PostgreSQL7.2 ��ʼ�� ���ļ����� includedir/postgresql/internal/libpq-int.h ����֣� �������Ҫ����ı��������������Ӻ��ʵ� -I ѡ�