1.下载下载mongo-c-drive-master
到MongoDB官网https://github.com/mongodb/mongo-c-driver,下载mongo-c-drive-master,通过阅读README,知道还要下载python和scons来编译MonDB c drive。
2下载安装python (好像python不要下载最新的3.3版本,scons暂时不支持)
http://www.python.org/getit/,或可以在别的地方下载python-2.7.3.msi
3.下载安装scons (需要python,所以要先安装python)
http://sourceforge.net/projects/scons/files/scons/2.2.0/ ,
并配置python脚本路径,将C:\Python27\Scripts添加到PATH中。
4.打开cmd,进入到mongo-c-drive-master文件夹里,输入scons --m32 --standard-env(经测试,--standard-env可以不要),我们会发现错误提示。
按照提示把src/mongo.c文件 snprintf改成_snprintf,接着编译,便能顺利通过
我们发现会生成mongoc.lib,mongoc.dll,bson.lib,bson.dll。
如果输入scons --m32 test便会自己测试,会在bson_alloc这里发生错误,原因不知,但不影响我们的使用。
如果想测试test_gridfs是否可用
打开mongo-c-drive-master文件夹里Sconstruct,大概在280行,
tests = Split("write_concern commands sizes resize endian_swap bson_alloc bson bson_subobject simple update errors "
"count_delete auth gridfs validate examples helpers oid functions cursors")
我们把gridfs放进去,修改如下
tests = Split("write_concern commands sizes resize endian_swap gridfs bson_alloc bson bson_subobject simple update errors "
"count_delete auth validate examples helpers oid functions cursors")
输入scons --m32 test,就会生成test_gridfs.exe了。
5.在用到c语言api时,包含头文件,bson.lib和mongoc.lib即可。在VS2010环境下,项目-属性-配置属性-连接器-输入-附加依赖项,里面加入即可。记得要把mongoc.lib,mongoc.dll,bson.lib,bson.dll文件拷到工作目录下。
(mongoc.lib里看源代码是包含着bson.lib的内容,所以只用一个mongoc.lib也可以,但本文同时包含了这2个库文件)
7.以上是刚刚自己测试的,如有错误,谢谢指正。