Обсуждение: Connecting - Need Help !

Поиск
Список
Период
Сортировка

Connecting - Need Help !

От
Peter Moscatt
Дата:
I am trying my first attempt to write code which will conect to a test
database I have created.

The code I used is shown below:

void ConnectDatabase()
{ char *pghost; char *pgport; char *pgoptions; char *pgtty; char *dbName;
 PGconn *conn; PGresult *res;
 pghost = NULL; pgport = NULL; pgoptions = NULL; dbName = "linlog";
 conn = PQsetdb(pghost,pgport,pgoptions,pgtty,dbName);
}




When I compile and make I get the following error:

linlog.o(.text+0x177): In function `ConnectDatabase()': 
/home/pmoscatt/C++/linlog/linlog/linlog.cpp:30: undefined reference to
`PQsetdbLogin' 
collect2: ld returned 1 exit status 
gmake[2]: *** [linlog] Error 1 
gmake[2]: Leaving directory `/home/pmoscatt/C++/linlog/linlog' 
gmake[1]: Leaving directory `/home/pmoscatt/C++/linlog' 
gmake[1]: *** [all-recursive] Error 1 
gmake: *** [all-recursive-am] Error 2 
*** failed *** 



What have I done wrong here ??

Pete



Re: Connecting - Need Help !

От
Christoph Haller
Дата:
>
> I am trying my first attempt to write code which will conect to a test

> database I have created.
>
> The code I used is shown below:
>
> void ConnectDatabase()
> {
>   char *pghost;
>   char *pgport;
>   char *pgoptions;
>   char *pgtty;
>   char *dbName;
>
>   PGconn *conn;
>   PGresult *res;
>
>   pghost = NULL;
>   pgport = NULL;
>   pgoptions = NULL;
>   dbName = "linlog";
>
>   conn = PQsetdb(pghost,pgport,pgoptions,pgtty,dbName);
> }
>
>
>
>
> When I compile and make I get the following error:
>
> linlog.o(.text+0x177): In function `ConnectDatabase()':
> /home/pmoscatt/C++/linlog/linlog/linlog.cpp:30: undefined reference to

> `PQsetdbLogin'
> collect2: ld returned 1 exit status
> gmake[2]: *** [linlog] Error 1
> gmake[2]: Leaving directory `/home/pmoscatt/C++/linlog/linlog'
> gmake[1]: Leaving directory `/home/pmoscatt/C++/linlog'
> gmake[1]: *** [all-recursive] Error 1
> gmake: *** [all-recursive-am] Error 2
> *** failed ***
>
>
>
> What have I done wrong here ??

Looks like you didn't link libpq.
Something similar to  -L$PGSQLD/lib/  -lpq should appear in LDFLAGS
resp. LIBS.
Regards, Christoph
PS Your code looks like C, but from your directory name one could think
it's C++.
Just wondering.




Re: Connecting - Need Help !

От
"Darko Prenosil"
Дата:
----- Original Message ----- 
From: "Peter Moscatt" <pgmoscatt@optushome.com.au>
To: "PostgreSQL [INTERFACES] List" <pgsql-interfaces@postgresql.org>
Sent: Tuesday, July 15, 2003 11:28 AM
Subject: [INTERFACES] Connecting - Need Help !


> I am trying my first attempt to write code which will conect to a test
> database I have created.
> 
> The code I used is shown below:
> 
> void ConnectDatabase()
> {
>   char *pghost;
>   char *pgport;
>   char *pgoptions;
>   char *pgtty;
>   char *dbName;
> 
>   PGconn *conn;
>   PGresult *res;
> 
>   pghost = NULL;
>   pgport = NULL;
>   pgoptions = NULL;
>   dbName = "linlog";
> 
>   conn = PQsetdb(pghost,pgport,pgoptions,pgtty,dbName);
> }
> 
> 
> 
> 
> When I compile and make I get the following error:
> 
> linlog.o(.text+0x177): In function `ConnectDatabase()': 
> /home/pmoscatt/C++/linlog/linlog/linlog.cpp:30: undefined reference to
> `PQsetdbLogin' 
> collect2: ld returned 1 exit status 
> gmake[2]: *** [linlog] Error 1 
> gmake[2]: Leaving directory `/home/pmoscatt/C++/linlog/linlog' 
> gmake[1]: Leaving directory `/home/pmoscatt/C++/linlog' 
> gmake[1]: *** [all-recursive] Error 1 
> gmake: *** [all-recursive-am] Error 2 
> *** failed *** 
> 
> 
> 
> What have I done wrong here ??
> 
> Pete
> 
It is not compile, but linking problem. 
You should link Your program with libpq library,
which is usually done by writing something like:

LDFLAGS = -L/usr/local/pgsql/lib -lpq

to Makefile, but it depends on build system You are using.

Regards !