-       Include the libpq-fe.h header file:
 - #include <libpq-fe.h> - 
      If you failed to do that then you will normally get error
      messages from your compiler similar to
 - 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) - 
      
-       Point your compiler to the directory where the PostgreSQL header
      files were installed, by supplying the
      -Idirectory option
      to your compiler.  (In some cases the compiler will look into
      the directory in question by default, so you can omit this
      option.)  For instance, your compile command line could look
      like:
 - cc -c -I/usr/local/pgsql/include testprog.c - 
      If you are using makefiles then add the option to the
      CPPFLAGS variable:
 - CPPFLAGS += -I/usr/local/pgsql/include - 
      -       
      If there is any chance that your program might be compiled by
      other users then you should not hardcode the directory location
      like that.  Instead, you can run the utility
      pg_config to find out where the header files
      are on the local system:
 - $ pg_config --includedir
/usr/local/include - 
      -       Failure to specify the correct option to the compiler will
      result in an error message such as
 - testlibpq.c:8:22: libpq-fe.h: No such file or directory - 
      
-       When linking the final program, specify the option
      -lpq so that the libpq library gets pulled
      in, as well as the option
      -Ldirectory to
      point it to the directory where the libpq library resides.  (Again, the
      compiler will search some directories by default.)  For maximum
      portability, put the -L option before the
      -lpq option.  For example:
 - cc -o testprog testprog1.o testprog2.o -L/usr/local/pgsql/lib -lpq - 
      -       You can find out the library directory using
      pg_config as well:
 - $ pg_config --libdir
/usr/local/pgsql/lib - 
      -       Error messages that point to problems in this area could look
      like the following.
 - 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' - 
      This means you forgot -lpq.
 - /usr/bin/ld: cannot find -lpq - 
      This means you forgot the -L or did not specify
      the right path.