[Pgsql-ayuda] Como compilar en C y libpq

Alvaro Herrera alvherre@dcc.uchile.cl
Fri, 18 Jul 2003 16:29:52 -0400


On Fri, Jul 18, 2003 at 08:20:34AM +0200, Antonio Castro wrote:
> On Thu, 17 Jul 2003, Alvaro Herrera wrote:
> 
> > gcc -lpq -L/path/donde/tienes/libpq.o tu-archivo.c
> 
> Pues yo en debian simplemente uso:
> 
> gcc -lpq tu-archivo.c
> 
> Con esto el linker ya me localiza la librería en
> 
> /usr/lib/libpq.a

Eso es porque tienes /usr/lib en /etc/ld.so.conf, o en $LD_LIBRARY_PATH,
o bien es parte de la ruta de búsqueda por defecto del linker.
Generalmente funciona si instalaste un paquete binario (y en otras
circunstancias)

> Lo que si necesito especificar con todo el PATH es el
> include con las cabeceras.
> 
> #include "/usr/include/postgresql/libpq-fe.h"

Mejor:

#include <libpq-fe.h>

Y despues al compilar
gcc -I/usr/include/postgresql

Una buena alternativa es algo como

gcc -I`pg_config --includedir` -L`pg_config --libdir` -lpq

eso te independiza de los directorios donde se instaló cada cosa.
(asumiendo que encuentras el pg_config correcto en el Makefile)

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"Find a bug in a program, and fix it, and the program will work today.
Show the program how to find and fix a bug, and the program
will work forever" (Oliver Silfridge)