Someone mentioned that you had to include libpq, but you are also using the
wrong GCC command line. the -c switch tells gcc to just build an object
file, ignoring the main routine and not creating an actual executable
program. You want something like this:
$ gcc conn2.c -o conn2 -lpq
At 01:53 AM 7/7/00, anuj wrote:
>Hello,
>
>I am working on Linux RH 6.0 platform.
>I want use PostgreSQL as a backend. 'C' language as a front-end.
>I am not able to connect to each other.
>I am using libpq.
>The program is :-
>
>/*conn2.c*/
>#include <stdio.h>
>#include "/usr/include/pgsql/libpq-fe.h"
> main()
> {
> char *pghost, *pgport, *pgoptions,*pgtty;
> char *dbName;
> PGconn *conn;
> pghost = NULL; /* host name of the backend server */
> pgport = NULL; /* port of the backend server */
> pgoptions = NULL; /* special options to start up the backend
> * server */
> pgtty = NULL; /* debugging tty for the backend server */
> dbName = "template1";
>
> /* make a connection to the database */
> conn = PQsetdb(pghost, pgport, pgoptions, pgtty, dbName);
>}
>
>The compiling is ok, but linking have error.
>$ gcc conn2.c -c -o conn2
>No error
>
>The program compile and linking result :-
>*****************
>$ gcc conn2.c -o conn2
>/tmp/cchKU26L.o: In function `main':
>/tmp/cchKU26L.o(.text+0x47): undefined reference to `PQsetdbLogin'
>collect2: ld returned 1 exit status
>*****************
>
>How to remove this linking error, or how to make link between PostgreSQL and
>'C'?
>Thanks in advance
>Anuj