Обсуждение: Problems linking with libpq
I'm trying to compile a small c program that integrates with PostgreSQL,
but when I get to link the prog i get the following error.
/tmp/ccFrRISc.o: In function `main':
/tmp/ccFrRISc.o(.text+0x57): undefined reference to `PQsetdbLogin'
I'm doing this on FreeBSD 4.3 and PostgreSQL is 7.1.2
I made this prog to determine that what causes the problem:
#include </usr/local/include/pgsql/libpq-fe.h>
int main (void) {
char *pghost,
*pgport,
*pgoptions,
*pgtty,
*dbUser,
*dbPassword;
char *dbName;
int nFields;
int i, j;
PGconn *conn;
pghost = "localhost";
pgport = "5432";
pgoptions = NULL;
pgtty = NULL;
dbName = "monitor";
dbUser = "username";
dbPassword = "donttell";
conn = PQsetdbLogin(pghost, pgport, pgoptions, pgtty, dbName, dbUser,
dbPassword);
return(0);
}
\Flemming
Flemming Froekjaer wrote: >I'm trying to compile a small c program that integrates with PostgreSQL, > >but when I get to link the prog i get the following error. > >/tmp/ccFrRISc.o: In function `main': >/tmp/ccFrRISc.o(.text+0x57): undefined reference to `PQsetdbLogin' It seems that you aren't in fact linking libpq to your program. You need something like gcc prog.c -L/usr/local/lib/pgsql -lpq as a minimum. -- Oliver Elphick Oliver.Elphick@lfix.co.uk Isle of Wight http://www.lfix.co.uk/oliver PGP: 1024R/32B8FAA1: 97 EA 1D 47 72 3F 28 47 6B 7E 39 CC 56 E4 C1 47 GPG: 1024D/3E1D0C1C: CA12 09E0 E8D5 8870 5839 932A 614D 4C34 3E1D 0C1C ======================================== "But the wisdom that is from above is first pure, then peaceable, gentle, and easy to be intreated, full of mercy and good fruits, without partiality, and without hypocrisy." James 3:17
On Fri, 27 Jul 2001 22:57:36 +0000 (UTC), <flemming@froekjaer.org> wrote:
> I'm trying to compile a small c program that integrates with PostgreSQL,
>
> but when I get to link the prog i get the following error.
>
> /tmp/ccFrRISc.o: In function `main':
> /tmp/ccFrRISc.o(.text+0x57): undefined reference to `PQsetdbLogin'
>
> I'm doing this on FreeBSD 4.3 and PostgreSQL is 7.1.2
>
> I made this prog to determine that what causes the problem:
>
> #include </usr/local/include/pgsql/libpq-fe.h>
>
> int main (void) {
> char *pghost,
> *pgport,
> *pgoptions,
> *pgtty,
> *dbUser,
> *dbPassword;
> char *dbName;
> int nFields;
> int i, j;
> PGconn *conn;
>
> pghost = "localhost";
> pgport = "5432";
> pgoptions = NULL;
> pgtty = NULL;
> dbName = "monitor";
> dbUser = "username";
> dbPassword = "donttell";
>
> conn = PQsetdbLogin(pghost, pgport, pgoptions, pgtty, dbName, dbUser,
> dbPassword);
> return(0);
> }
>
What is the command line you are using to compile & link your program?