在Windows上编译MongoDB C Driver

Mongodb 是采用 Scons 来构建的。Scons是一个Python写的自动化构建工具,从构建这个角度说,它跟GNU make是同一类的工具。所以要编译MongoDB的C语言驱动,不仅要有C/C++开发环境,而且还要有Python环境及Scons库。

  编译环境:Windows 2008 + Visual Studio 2010 + Python 2.7 + SCons 2.3.0;其中Python编译器主要有两个版本(2.7和3.x),请务必安装Python2.7,因为SCons2.3.0仅支持Python2.x编译器,并且Python2.7是当前使用最为广泛的版本。

  下载地址: 
Python2.7 http://www.python.org/download/releases/2.7.5/ 
SCons2.3.0 http://www.scons.org/ 
Mongo-c-driver https://github.com/mongodb/mongo-c-driver(GitHub托管)

  假设当前操作系统上已经配置了C/C++开发环境(Visual Studio 2010);首先安装Python2.7,安装目录默认为C:/Python27;然后安装Scons2.3.0,安装Scons2.3.0时会自动检测Python安装目录,并将安装到Python中的Scripts目录;增加环境变量: C:\Python27 与 C:\Python27\Scripts 到PATH;编译环境搭建完毕。

  下载mongo-c-driver并解压,在“命令提示符”(DOS模拟环境cmd.exe)下进入到mongo-c-driver的解压目录,例如解压到C盘根目录,则路径为C:\mongo-c-driver-master;在C:\mongo-c-driver-master>提示符下,输入SCons –m32 –c99回车即可;编译完成后会在mongo-c-driver目录中生成两个动态链接库bson.dll和mongoc.dll,以及相应的bson.lib和mongoc.lib。

  注:在开发程序进行编译时,需要在项目属性中配置“C/C++“->“预处理器定义”,预定义四个宏MONGO_HAVE_STDINT,MONGO_HAVE_UNISTD,MONGO_USE__INT64,MONGO_USE_LONG_LONG_INT;在"VC++目录”->“包含目录"中,添加C:\mongo-c-driver-master\src目录,包含mongo-c-driver头文件目录;在"链接器”->“输入”->“附加依赖项"中,添加bson.lib和mongoc.lib库,链接mongo-c-driver库,即可编译程序。

  编译截图:在Windows上编译MongoDB C Driver_第1张图片


转自:http://my.oschina.net/u/273132/blog/150719

你可能感兴趣的:(C/C++)