本博客將記錄在Win8.1 ,VS2013環境下編譯、配置mongodb C++ driver的流程。
1.下載預備
下載Boost:http://sourceforge.net/projects/boost/files/boost-binaries/1.58.0/ 注意下binary版的,即安裝版的exe,我下載32位的,下載64位的編譯的mongodb C++ driver總是出錯,估計是因為VS2013里編譯的是32位程序
下載python 2.X :https://www.python.org/downloads/release/python-2710/
下載SCons :http://www.scons.org/
下載mongodb C++ driver:https://github.com/mongodb/mongo-cxx-driver/releases 注意:也可以通過git來下載
2.安裝
安裝python 和SCons,傻瓜安裝
安裝Boost,傻瓜安裝。
編譯mongodb C++ driver,cmd進入你下載的mongodb C++ driver目錄,鍵入以下命令:
scons install --cpppath=D:\boost_1_58_0 --libpath=D:\boost_1_58_0\lib32-msvc-12.0 --dbg=on --32 --dynamic-windows --sharedclient 其中cpppath代表boost的安裝路徑,libpath代表boost lib庫的路徑,dbg表示編譯為debug而不是release版本。
編譯結束后會在文件夾出現一個build文件夾,里面的install\include就是頭文件包含目錄,install\lib便是庫目錄。將它們分別加入VS你新建的項目之中,如何在VS工程中添加外部的包含與庫目錄可以自行百度,很簡單。
由於這個兩個目錄中還有dll文件,也應該加到調試環境path中去。
完成以上就基本搞定了,啟動mongodb,由以下代碼測試:
#include "stdafx.h" #include <iostream> #include <cstdlib> #include <winsock2.h> #include "mongo\client\dbclient.h" using namespace std; void run() { mongo::DBClientConnection con; con.connect("127.0.0.1:27017"); } int _tmain(int argc, _TCHAR* argv[]) { WSAData wsaData; if (WSAStartup(MAKEWORD(1, 1), &wsaData) != 0) { return -1; } try { run(); cout << "conn ok" << endl; } catch (const mongo::DBException &e) { cout << "caught " << e.what() << endl; } getchar(); return 0; }