[INTERFACES] Linking Errors - Mailing list pgsql-interfaces

From Mike
Subject [INTERFACES] Linking Errors
Date
Msg-id 00012109160200.02113@Cartman
Whole thread Raw
List pgsql-interfaces
Hello I am having problems linking to the libpq++ libraries.  I tried compiling the the program below that I found in
thearchive just like
 
it said 
c++ test3.cpp -o test3 -lpq -lpq++

But I get messages like the following:

/usr/lib/qt/include/qarray.h(.gnu.linkonce.t__tf10PgDatabase+0xd): undefined
reference to 'PgConnection type_info function

Before I had to specify the location of the libpq++.h file until I used
the I switch or else it would say the file was not found.

c++ test3.cpp -o test3 -I/usr/lib/pgsql/include -lpq -lpq++

So I have a couple of questions

1. How do I fix the linking error?
2. When I set the -lpq and -lpq++ I know it is suppose to be including those
libraries but do I need to tell the system where those libraries are? How does
it know?

Please HELP!! :-)
Thanks,
Mike
mfre@telusplanet.net


*************************************************************************************************************************
/* test3.h
joris esch 3.10.1998
*/

#include <libpq++.h>
//#include "/usr/lib/pgsql/include/libpq++.h"     
#include <iostream>
//typedef int Error;

/* test3.cpp
joris esch 3.10.1998
*/
// compile with:
// c++ test3.cpp -o test3 -lpq -lpq++

#include "test3.h"

void main()
{          bool verbose = true; char* dbname= "template1";        
 /* make a connection to the database */ if (verbose) {   cout << "Trying to connect to db " << dbname  << '\n';;  //
<<" on host " << pghost; } ;  // PgDatabase inherits from PgConnection PgDatabase *conn=new PgDatabase(dbname);
 
 // give error messages if conn is not ok
 if (conn->Status()!=0){   cerr << "Connection status: " << conn->Status() <<'\n';   cerr << "Connection failed." <<
'\n';  cerr << "Database name: " << conn->DBName() << '\n';   cerr << conn->ErrorMessage() << '\n';   //end execution
here...or use exception handling...cfr. ch8   exit(1); //Stroustrup page 116 0== okidoki, 1!=okidoki   //throw
"Connectionfailed"; };   if (verbose) {cout <<  "Connection succeeded.\n";}; cout << "You are currently connected to
db:" << conn->DBName() << '\n'; //cout << "Let's do a query"; //see if i can do  query... if
(conn->ExecTuplesOk("DECLAREmycursor BINARY CURSOR FOR select * from pg_database")){// 1 means Ok   int
no_t=conn->Tuples();  int no_f=conn->Fields();   if (verbose) {     cout << "The number of tuples in the query: " <<
conn->Tuples()<< '\n';     cout << "The number of fields in the query: " << conn->Fields() << '\n';   }   cout << "The
queryresults: \n";    for(int i=0;i < no_t; i++){     for(int j=0;j < no_f; j++){       cout << conn->GetValue(i,j) <<
'\t';      //cout << conn->GetValue(i,j) << '\n';     }     cout << '\n';   } } else{   cout << "Execution of query
failed\n";//conn}
 
 //conn->Exec("DECLARE mycursor BINARY CURSOR FOR select * from test");  //return 0; 
}

************




pgsql-interfaces by date:

Previous
From: Tom Lane
Date:
Subject: Re: [INTERFACES] Linking problems
Next
From: Tibor Laszlo
Date:
Subject: psql - odbc - bde - data dictionary