在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库,即可编译程序。

  编译截图:编译mongo-c-driver截图


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

MongoDB C Driver 1.14.0】--截止2019.6.26的最新版本 1、编译好的Mongodb C语言库,包含lib、dll、include,版本1.14.0,32位的 2、包含文件的清单: ...\mongo-c-driver\bin ...\mongo-c-driver\include ...\mongo-c-driver\lib ...\mongo-c-driver\share ...\mongo-c-driver\bin\libbson-1.0.dll ...\mongo-c-driver\bin\libmongoc-1.0.dll ...\mongo-c-driver\bin\msvcp120.dll ...\mongo-c-driver\bin\msvcr120.dll ...\mongo-c-driver\include\libbson-1.0 ...\mongo-c-driver\include\libmongoc-1.0 ...\mongo-c-driver\include\libbson-1.0\bson ...\mongo-c-driver\include\libbson-1.0\bson.h ...\mongo-c-driver\include\libbson-1.0\bson\bcon.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-atomic.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-clock.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-compat.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-config.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-context.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-decimal128.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-endian.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-error.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-iter.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-json.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-keys.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-macros.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-md5.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-memory.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-oid.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-prelude.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-reader.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-string.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-types.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-utf8.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-value.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-version-functions.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-version.h ...\mongo-c-driver\include\libbson-1.0\bson\bson-writer.h ...\mongo-c-driver\include\libbson-1.0\bson\bson.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc ...\mongo-c-driver\include\libmongoc-1.0\mongoc.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-apm.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-bulk-operation.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-change-stream.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-client-pool.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-client-session.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-client.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-collection.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-config.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-cursor.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-database.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-error.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-find-and-modify.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-flags.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-gridfs-bucket.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-gridfs-file-list.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-gridfs-file-page.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-gridfs-file.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-gridfs.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-handshake.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-host-list.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-index.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-init.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-iovec.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-log.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-macros.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-matcher.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-opcode.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-prelude.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-rand.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-read-concern.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-read-prefs.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-server-description.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-socket.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-ssl.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-stream-buffered.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-stream-file.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-stream-gridfs.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-stream-socket.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-stream-tls-libressl.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-stream-tls-openssl.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-stream-tls.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-stream.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-topology-description.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-uri.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-version-functions.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-version.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc-write-concern.h ...\mongo-c-driver\include\libmongoc-1.0\mongoc\mongoc.h ...\mongo-c-driver\lib\bson-1.0.lib ...\mongo-c-driver\lib\bson-static-1.0.lib ...\mongo-c-driver\lib\cmake ...\mongo-c-driver\lib\mongoc-1.0.lib ...\mongo-c-driver\lib\mongoc-static-1.0.lib ...\mongo-c-driver\lib\pkgconfig ...\mongo-c-driver\lib\cmake\libbson-1.0 ...\mongo-c-driver\lib\cmake\libbson-static-1.0 ...\mongo-c-driver\lib\cmake\libmongoc-1.0 ...\mongo-c-driver\lib\cmake\libmongoc-static-1.0 ...\mongo-c-driver\lib\cmake\libbson-1.0\libbson-1.0-config-version.cmake ...\mongo-c-driver\lib\cmake\libbson-1.0\libbson-1.0-config.cmake ...\mongo-c-driver\lib\cmake\libbson-static-1.0\libbson-static-1.0-config-version.cmake ...\mongo-c-driver\lib\cmake\libbson-static-1.0\libbson-static-1.0-config.cmake ...\mongo-c-driver\lib\cmake\libmongoc-1.0\libmongoc-1.0-config-version.cmake ...\mongo-c-driver\lib\cmake\libmongoc-1.0\libmongoc-1.0-config.cmake ...\mongo-c-driver\lib\cmake\libmongoc-static-1.0\libmongoc-static-1.0-config-version.cmake ...\mongo-c-driver\lib\cmake\libmongoc-static-1.0\libmongoc-static-1.0-config.cmake ...\mongo-c-driver\lib\pkgconfig\libbson-1.0.pc ...\mongo-c-driver\lib\pkgconfig\libbson-static-1.0.pc ...\mongo-c-driver\lib\pkgconfig\libmongoc-1.0.pc ...\mongo-c-driver\lib\pkgconfig\libmongoc-ssl-1.0.pc ...\mongo-c-driver\lib\pkgconfig\libmongoc-static-1.0.pc ...\mongo-c-driver\share\mongo-c-driver ...\mongo-c-driver\share\mongo-c-driver\COPYING ...\mongo-c-driver\share\mongo-c-driver\NEWS ...\mongo-c-driver\share\mongo-c-driver\README.rst ...\mongo-c-driver\share\mongo-c-driver\THIRD_PARTY_NOTICES ...\mongo-c-driver\share\mongo-c-driver\uninstall.cmd
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值