Ĺadny brzuch
witam mam problem
mianowicie mam baze w postgresql(na winowsie) i chce sie z nia polaczyc za pomoca tego programu(uzywam srodowiska dev-cpp):
#include <cstdlib>
#include <iostream.h>
#include <stdlib.h>
#include <libpq-fe.h>
using namespace std;
int main(int argc, char *argv[])
{
char *pghost,
*pgport,
*pgoptions,
*pgtty,
*dbName,
*user;
char pwd[10];
PGconn *conn;
pghost=NULL;
pgport=NULL;
pgoptions=NULL;
pgtty=NULL;
dbName="magazyn";
user="postgres";
/*WPISANIE HASŁA*/
cout <<("Podaj haslo:");
cin>>pwd;
/*NAWIAZANIE POLACZENIA*/
conn=PQsetdbLogin(pghost,pgport,pgoptions,pgtty,dbName,user,pwd);
if(PQstatus(conn)==CONNECTION_BAD) cout <<("Nie udalo sie polaczyc z baza.\n");
else cout<<("Udalo sie dokonac polaczenia z baza.\n");
system("PAUSE");
return EXIT_SUCCESS;
}
a po kompilacji wywala mi ze:
[Linker error] undefined reference to 'PQsetdbLogin'
[Linker error] undefined reference to 'PQstatus'
no i niewiem co zrobic ???
Wyglada to tak jak bys nie dolaczyc do projektu jakiego liba (ew. dll). Mialem dokladnie taki sam blad jak w programie operujacym na socketach nie dolaczylem pliku WSOCK32.LIB. Oczywiscie twoim przypadku plik będzie inny, W dokumentacji pgsql powinno byc info z czym nalezy linkowac program.
//edit na jakims forum znalalzem cos takigo:
If you forget to include -lbpq ("libpq.lib"), you may see errors similar to these:
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'
Użytkownik Poszukiwacz edytował ten post 01 maj 2005, 15:49
Wyglada to tak jak bys nie dolaczyc do projektu jakiego liba (ew. dll). Mialem dokladnie taki sam blad jak w programie operujacym na socketach nie dolaczylem pliku WSOCK32.LIB. Oczywiscie twoim przypadku plik będzie inny, W dokumentacji pgsql powinno byc info z czym nalezy linkowac program.
//edit na jakims forum znalalzem cos takigo:
dzieki ale liba mam dołaczonego tak jak pisze w dokumentacji i dalej swiroje mi z tym linkowaniem
sorrka juz mi sie kompiluje bo zapomialem podac linkierowi w opcjach jeszcze plikow, ale nie odpal mi sie program bo mi mowi ze nie moze znalesc pglib.dll juz niewiem co jeszcze zrobic?????
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
mianowicie mam baze w postgresql(na winowsie) i chce sie z nia polaczyc za pomoca tego programu(uzywam srodowiska dev-cpp):
#include <cstdlib>
#include <iostream.h>
#include <stdlib.h>
#include <libpq-fe.h>
using namespace std;
int main(int argc, char *argv[])
{
char *pghost,
*pgport,
*pgoptions,
*pgtty,
*dbName,
*user;
char pwd[10];
PGconn *conn;
pghost=NULL;
pgport=NULL;
pgoptions=NULL;
pgtty=NULL;
dbName="magazyn";
user="postgres";
/*WPISANIE HASŁA*/
cout <<("Podaj haslo:");
cin>>pwd;
/*NAWIAZANIE POLACZENIA*/
conn=PQsetdbLogin(pghost,pgport,pgoptions,pgtty,dbName,user,pwd);
if(PQstatus(conn)==CONNECTION_BAD) cout <<("Nie udalo sie polaczyc z baza.\n");
else cout<<("Udalo sie dokonac polaczenia z baza.\n");
system("PAUSE");
return EXIT_SUCCESS;
}
a po kompilacji wywala mi ze:
[Linker error] undefined reference to 'PQsetdbLogin'
[Linker error] undefined reference to 'PQstatus'
no i niewiem co zrobic ???
Wyglada to tak jak bys nie dolaczyc do projektu jakiego liba (ew. dll). Mialem dokladnie taki sam blad jak w programie operujacym na socketach nie dolaczylem pliku WSOCK32.LIB. Oczywiscie twoim przypadku plik będzie inny, W dokumentacji pgsql powinno byc info z czym nalezy linkowac program.
//edit na jakims forum znalalzem cos takigo:
If you forget to include -lbpq ("libpq.lib"), you may see errors similar to these:
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'
Użytkownik Poszukiwacz edytował ten post 01 maj 2005, 15:49
Wyglada to tak jak bys nie dolaczyc do projektu jakiego liba (ew. dll). Mialem dokladnie taki sam blad jak w programie operujacym na socketach nie dolaczylem pliku WSOCK32.LIB. Oczywiscie twoim przypadku plik będzie inny, W dokumentacji pgsql powinno byc info z czym nalezy linkowac program.
//edit na jakims forum znalalzem cos takigo:

dzieki ale liba mam dołaczonego tak jak pisze w dokumentacji i dalej swiroje mi z tym linkowaniem

sorrka juz mi sie kompiluje bo zapomialem podac linkierowi w opcjach jeszcze plikow, ale nie odpal mi sie program bo mi mowi ze nie moze znalesc pglib.dll juz niewiem co jeszcze zrobic?????
