MongoDB數據庫CXX Driver編譯

最近項目須要,想要測試下MongoDB讀寫大量小圖片的速度(單純文件系統io效率比較低,想試試NoSQL能不能提速), 由於使用C++開發,因此使用MongoDB的CXX驅動,須要本身編譯,下面記錄整個編譯過程html

  1. CXX Driver下載

    從Github的MongoDB官方源中下載https://github.com/mongodb/mongo-cxx-driver/tree/26compat,由於我須要穩定的驅動,所以選擇26compat分支。而後參考官方的編譯指導(https://github.com/mongodb/mongo-cxx-driver/wiki/Download%20and%20Compile)進行編譯。python

  2. 依賴項下載和編譯

    根據官方的編譯指導,須要以下依賴項,須要依次下載git

    • C++編譯器:這個不須要說,確定須要,只要安裝了MSVC就確定有
    • BOOST:著名的C++拓展庫,準C++標準庫,官方網址http://www.boost.org/,我下載的是1.55版本,具體編譯和使用方法網上不少。我是直接使用根目錄下的bootstrap.bat生成b2.exe,而後「b2」直接編譯整個庫,至關費時間,汗一個
    • Python:主要是爲了使用下面介紹Scons,因爲我使用的Scons2.3.1版本不支持python3+,所以我下載的是python2.7版本,下載地址 https://www.python.org/,我直接下載msi安裝文件安裝,安裝的時候注意勾選將python添加到系統路徑選項
    • Scons:根據介紹,這貨是相似Cmake的存在,不知道爲何不適用cmake而使用這個。。,官方網址http://scons.org/, 我下載的的是2.3.1版本,安裝方法很簡單,根據根目錄下的「README.txt」,在根目錄下打開命令行窗口,輸入以下命令便可
    python setup.py install
  3. CXX Driver編譯

打開VS2010的命令行編譯工具,切換到CXX Driver的根目錄,使用以下命令進行編譯:github

scons --use-system-boost --32 --sharedclient --dynamic-windows --prefix=$HOME/mongo-client-install --cpppath="D:\Dev\boost_1_55_0" --libpath="D:\Dev\boost_1_55_0\stage\lib" --full install-mongoclient

注意prefix選項表示最後生成的庫安裝的地方,cpppath和libpath表示boost庫的位置,請根據本身的須要修改,其餘的選項請參考官方編譯指導修改「https://github.com/mongodb/mongo-cxx-driver/wiki/Download%20and%20Compilemongodb

吐槽一句,官方的命令行徹底不行麼,老是提示install-mongoclient 錯誤,可視不加這個選項就徹底沒有開發庫安裝麼(就是沒有吧h文件和lib文件提取出來放到一個文件夾裏),這怎麼玩。shell

相關文章
相關標籤/搜索