MongoDB的c++驅動安裝痛苦歷程


環境:win7 64bit     vs2010

看過網上暴多文章的講解,總結了兩條安裝mongodb c++驅動的方法。老版本是通過scons,新版本是通過cmake。新版本據說很麻煩,未做嘗試,仍使用老版本的scons的編譯方法。

過程中遇到了很多問題,其實主要是各種程序的版本問題,現梳理如下,親測成功:

1.Python2.7.2

http://www.python.org/download/releases/2.7.2/   選擇Windows x86 MSI Installer (2.7.2) (sig)

注意安裝的時候選擇只使用當前用戶,否則會在下一個安裝程序中報注冊表的錯。

2. pywin32

http://sourceforge.net/projects/pywin32/files/pywin32/Build216/pywin32-216.win32-py2.7.exe/download

pywin32-216.win32-py2.7.exe

3.  scons-2.1.0.win32.exe

http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.win32.exe/download

4.boost_1.57

https://ncu.dl.sourceforge.net/project/boost/boost-binaries/1.57.0/boost_1_57_0-msvc-10.0-32.exe

 不需要編譯就可以直接安裝到boost的動態庫。

5.08mongo-cxx-driver-26compat

https://codeload.github.com/mongodb/mongo-cxx-driver/zip/26compat

cd到該目錄下,運行cmd:

scons --use-system-boost --32 --sharedclient --dynamic-windows --prefix=D:\mongo-client-install --cpppath=D:\01Lib\07boost_1_57_0_32 --libpath=D:\01Lib\07boost_1_57_0_32\lib32-msvc-10.0 --full install-mongoclient

其中cpppath代表boost的安裝路徑,libpath代表boost lib庫的路徑,dbg表示編譯為debug而不是release版本。

D:\01Lib\mongo-client-install\lib就是庫安裝的路徑。

D:\01Lib\mongo-client-install\include就是包含目錄。

 最后給一段測試代碼。需設置boost和mongodb的包含文件和庫文件目錄。

#include "stdafx.h"
#include <iostream>
#include "mongo/client/dbclient.h"
using namespace std;
using namespace mongo;

void run() {
DBClientConnection c;
c.connect("127.0.0.1:27017"); //add port,c.connect("localhost:27017")
const char* ns = "test.first";
c.insert(ns, BSON("name" << "joe"
<< "pwd" << "123456"
<< "age" << 20));
}

int main(void)
{
try {
run();
cout<<"connected ok"<<endl;
system("pause");
}catch(DBException& e){
cout<<"caught"<<e.what()<<endl;
}
return 0;

}

效果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM