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"







你可能感兴趣的:(mongodb,linux,ubuntu,library)