本部落格將記錄在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(, ), &wsaData) != )
{
return -;
} try
{
run();
cout << "conn ok" << endl;
}
catch (const mongo::DBException &e)
{
cout << "caught " << e.what() << endl;
}
getchar();
return ;
}