2019独角兽企业重金招聘Python工程师标准>>>
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库,即可编译程序。
编译截图: