Ubuntu编译MongoDB client library

要有boost库。

1.download cxx-driver for 2.0, unzip to /usr/src folder

wget http://downloads.mongodb.org/cxx-driver/mongodb-linux-x86_64-v2.0-latest.tgz

2.sudo apt-get install libpcre3-dev

3.sudo apt-get install scons

chenshu@chenshu-ubuntu:/usr/local/src/mongo-cxx-driver-v2.0$ 

rm -f .sconsign.dblite
scons --prefix=/usr install

如有必要配置SConstruct文件,比如boost库位于/usr/lib下面的话,要将配置从/usr/local改为/usr


4.如果没有安装到/usr/lib目录下,则用下面命令复制一下

sudo cp libmongoclient.* /usr/lib/


5.如果开发的时候想调试进入源代码看看,需要在SConstruct文件中找到if linux,然后添加一行 -g参数。


 if linux:
    env.Append( LINKFLAGS=" -Wl,--as-needed -Wl,-zdefs " )

    env.Append( CPPFLAGS=" -g " )


mongodb2.1之后出现了无法编译.so文件,只能编译.a文件的bug,这里是issue:

https://jira.mongodb.org/browse/SERVER-6514?page=com.atlassian.streams.streams-jira-plugin:activity-stream-issue-tab

在长达4个月的时间里面,此issue无人过问。看上去Mongodb的核心团队工作也不象外界想象的那么杰出。

绕过的方法有两个:

1.src/SConscript.client文件的101行取消注释,重新编译即可。

2.不要使用.so文件,直接引入头文件到自己的工程中。

#include "src/mongo/client/dbclient.h"







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值