Thread: Question about libpq++
I've installed pgsql 6.4.2 It includes libpq++ I've tried to play with it... Simply #include <stdlib.h> #include <libpq++.h> int main(void) { PgEnv a; a.SetEnv(NULL,NULL,NULL,NULL,NULL); return 0; } during compilation with "g++ -o pgsetenv pgsetenv.cpp -I/usr/local/pgsql/include" I've got an error message: /var/tmp/ccxg22111.o: Undefined symbol `___5PgEnv' referenced from text segment .... What to do? thanks, Q
Alexey, It appears you've forgotten to link in the libpq++ library with a -l on the command line. You may also need a -L to tell the compiler where to find the library. Randy Barrett On Wed, 27 Jan 1999, Alexey V. Meledin wrote: > I've installed pgsql 6.4.2 > It includes libpq++ > I've tried to play with it... > Simply > #include <stdlib.h> > #include <libpq++.h> > int main(void) > { > PgEnv a; > a.SetEnv(NULL,NULL,NULL,NULL,NULL); > return 0; > } > > during compilation with "g++ -o pgsetenv pgsetenv.cpp > -I/usr/local/pgsql/include" I've got an error message: > /var/tmp/ccxg22111.o: Undefined symbol `___5PgEnv' referenced from text segment > .... > > What to do? > > thanks, > Q > > > >
"Alexey V. Meledin" wrote: > > I've installed pgsql 6.4.2 > It includes libpq++ > I've tried to play with it... > Simply > #include <stdlib.h> > #include <libpq++.h> > int main(void) > { > PgEnv a; > a.SetEnv(NULL,NULL,NULL,NULL,NULL); > return 0; > } > > during compilation with "g++ -o pgsetenv pgsetenv.cpp > -I/usr/local/pgsql/include" I've got an error message: > /var/tmp/ccxg22111.o: Undefined symbol `___5PgEnv' referenced from text segment > .... > > What to do? > > thanks, > Q Sound's like a link problem to me. The linker say's that he can not find theses symbol. Perhaps you add the options "-L/usr/local/pgsql/lib -lpg -lpg++" to your linker options. Hope that helps. Ralf -- Fraunhofer IPK Dipl.-Inform. Ralf Berger Pascalstr. 8-9 10587 Berlin Tel.: ++49-(0)30 390 06 129 Fax.: ++49-(0)30 391 10 37 --- In anything at all, perfection is finally attained not when there is no longer anything to add, but when there is no longer anything to take away. Antoine de Saint Exupery