ubuntu14.04下使用libpq++


Postgres的c++接口早就改为libpqxx,libpq++在ubuntu14.04下不能编译通过,为了使用libpq++需要做一些修改
一、下载libpq++-4.0.tar.gz并解压
http://download.chinaunix.net/download/0006000/5978.shtml
二、进入libpq++-4.0目录
三、打开Makefile
修改POSTGRES_HOME=/opt/PostgreSQL/9.3 (你的postgresql安装目录)
修改CXXOPTS=-fPIC -DHAVE_NAMESPACE_STD -DHAVE_CXX_STRING_HEADER -DDLLIMPORT=""
64位系统必需加上-fPIC
四、打开pgdatabase.cc
在最前面包含stdlib.h文件名
五、make&sudo make install
六、/etc/ld.so.conf.d/ 或LD_LIBRARY_PATH加上库搜寻路径
并执行sudo ldconfig -v
七、测试
test.cpp(把mydb,mytable,密码等修改一下,另外""改为尖括号
#include “stdlib.h”
#include “iostream”
#include   “libpq++.h”
using namespace std;
int   main()
{
char query_string[256]= "SELECT * FROM mytable;";
PgDatabase data("dbname = mydb user=postgres password=postgres");

if (data.ConnectionBad())
{
cout <<"connected failed" << endl;
cout <<"Error is "<<data.ErrorMessage() << endl;
exit(1);
}
if (! data.ExecTuplesOk(query_string)) 
{
cout<<"Query Failed!" << endl;
exit(1);
}
for(int k=0; k
{
cout<<data.FieldName(k);
cout <<"       "     ;
}
cout<<endl;
for (int i = 0; i < data.Tuples();i++)
{
for(int k=0; k
{
cout << data.GetValue(i,k);
cout <<" | "     ;
}
cout<<endl;

}
return 0 ;    
}
g++ test.cpp -o test -fPIC -DHAVE_NAMESPACE_STD -DHAVE_CXX_STRING_HEADER -DDLLIMPORT="" -I /opt/PostgreSQL/9.3/include -L/opt/PostgreSQL/9.3/lib -lpq++ -lpq

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值