Ubuntu編譯MongoDB client library

來源:互聯網
上載者:User

要有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.dblitescons --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"

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.